######1.数据流向######
client
-> cdn (reverse proxy)
->LB( HA + F5 / LVS )【第4层传输层】
-> HA + nginx / haproxy【第7层应用层】
-> web(apache / nginx)【ATP层】
-> app(php / jsp)
-> DB(mysql / redis / mongodb)
'zabbix / nagios / cacti openstack kvm / docker / k8s(swarm) hadoop'
-> server
(一级一级的路由,转换不同的网段ip,
目的是缓解服务器的压力:分布式,分开业务,读写分离,主备,分库分表)
######2.步骤介绍######
###1.cdn###
cdn:缓存加速(近,快);反向代理
例如:浏览器缓存(本地存储)
特点:缓存是一个圆形
就近原则:在本地服务器上找--->在最近的服务器上找...--->在源服务器上找
cdn到达极限后,横向扩展,加高可用。
###2. 4层的负载###
LB:负载均衡(平均分配)【每一层都会加】
HA:高可用,避免单点故障(一主一备) 【每一层都会加】
F5:路由级的负载均衡(硬件负载均衡,贵)
LVS:内核级的负载均衡(开源负载均衡软件,linux自带)
###3. 7层的负载###
nginx:反向代理,负载均衡,web服务器
http协议访问形式:html页面,php(轻量级的应用,小网站用的多),
gsp(java的,大网站用的多),python(全栈,访问python页面)
判断一个网站访问量大小:
pv(page view)页面访问
uv(user view)用户访问
active connection 活跃连接数
qps (quest per second) 每秒的请求量
###4.ATP层###
web层(apache/nginx):
apache---->处理模型:prefork: 预派生(处理业务高峰期)
客户端和服务器建立连接后,连接是稳定的,在客户端没有释放这个连接之前,
建立的这个通道一直属于客户端。
优点:高效稳定,适合处理动态页面(php)
nginx---->处理模型:worker:进程
(cpu是几核,就会产生worker进程)
每个进程会有多个线程,线程之间交叉使用内存
nginx主要处理静态页面资源;对于动态页面,做反向代理。
【优点:高并发,消耗内存小,配置简单,支持重写(状态:302重定向),
自带检查功能(替出群组)【外部无感知,内部监控报警】,
接收带宽,gzip压缩,稳定性高,外围支持好,第三方模块】
NGINX Plus配置:
Load Balancer负载均衡(HTTP,TCP,UDP),
Content Cache内容缓存,
Web Server
Security Controls安全控制,
Monitoring监控,
High Availability高可用
###5.app应用###
app前端用:php,jsp页面
###6.DB数据库###
DB数据库存储有2种:
键值型key-value:mysql
非关系型nosql:redis(内存型)【读取快】,mongodb
数据库:负载均衡,主备,读写分离,分布式,分库分表,
外围软件:做优化,监控
zabbix:支持api,动态添加删除节点;代理收集数据;扩展软件做图形
nagios:主要支持脚本
cacti:优势是图形
docker虚拟化(容器级的):
kvm虚拟化
k8s:是docker的管理工具(谷歌开发),
秒级部署,秒级回收,秒级封箱,秒级上线
swarm:红帽开发
hadoop大数据:生态圈
elk:日志管理系统
git:代码管理
openstack:云计算,实时扩展,一键生成系统