反向代理服务器:客户端发现请求给反向代理服务器,反向代理服务器与后端真实服务器进行通信,并由反向代理服务器返回信息给客户端
不同的服务,反向代理服务器使用的协议不同(如http、mysql等):
反代服务器后端的真实服务器一般是多台服务器组成的集群
Linux Cluster:
集群:将多台主机组织起来满足同一个需求
系统扩展的方式(系统资源遇瓶颈时的扩展):
Scale UP:向上扩展(提供性能更好的服务器)
Scale OUT:向外扩展,水平扩展(利用分布式技术)
瓶颈在分布式服务器后端的共享存储资源的访问量
集群的类型:
LB:Load Banlance,负载均衡集群:
负载均衡器,调度器,分发器
后端主机(backend server,upsteaming server),LVS中称为“真”服务器(real server)
HA:High Avaliblly,高可用集群(由相互冗余的服务器构成的集群)
Active:活动服务器
Passive、Standby:备用服务器
HA集群用于防止单点故障发生(SPOF)
可用性指标Avalibility=MTBF/(MTBF+MTTR) [平均无故障时间/(平均无故障时间+平均修复时间)] 在0-1之间 99.9%比99%可用性高了10倍
HP:High Performance
DS:Distributed System
hadoop:
mapreduce
hdfs
LB集群的实现:
1.DNS轮询(效率不高) 起点公平
2.使用一台服务器作为调度器,分配到后端的真实服务器 末端公平
硬件:
F5 BIG-IP
Critrix Netscaler
A10 A10
Array
Redware
软件:
lvs: linux virtual server
haproxy
nginx
ats(appche traffice server)
perbal
基于工作的协议层次划分:
传输层:
lvs,haproxy,nginx #lvs是真TCP层进行调度,工作在内核上;而haproxy和nginx是基于7层模拟调度
应用层:
haproxy(mode http),nginx,ats,perlbal
工作在传输层和工作在应用层调度的区别:
传输层:只需要在内核空间运行即可,不进行系统调用,直接使用IP地址;不需要维护程序套接文件,突破套接字文件限制和套接字数量限制
应用层:需要接受用户请求并维护程序套接文件,还需要通过程序与后端进行请求数据,占用系统端口
因此lvs服务器优化得当将可达到400-500万并发连接
HA集群的实现:
keepalived:vrrp协议主机层面的实现 #目前常用的HA集群
ais协会:
heartbeat
cman+rgmanager(RHCS)
corosync+pacemaker #目前常用的HA集群
系统构建需考虑的问题:
分层:不同类型的系统,使用不同服务器
分割:将一个大业务切成多个小业务,每个小业务放在一类服务器上
分布式:如RPC机制
应用
数据
存储
计算
原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/66280