11.2.1 集群技术概览
集群设计实现
基础设施层面
1 提升硬件资源性能一从入口防火墙到后端 web server 均使用更高性能的硬件资源 2 多域名—DNS轮询A记录解析 3 多入口一将A记录解析到多个公网IP入口 4 多机房一同城+异地容灾 5 CDN(Content Delivery Network)-基于GSLB(Global Server Load Balance)实现全局负载均衡,如∶ DNS
业务层面
分层∶ 安全层、负载层、静态层、动态层、(缓存层、存储层)持久化与非持久化
分割∶ 基于功能分割大业务为小服务
分布式∶ 对于特殊场景的业务,使用分布式计算
LB Cluster 负载均衡集群
按实现方式划分
硬件 F5Big-IP Citrix Netscale A10
软件
lvs∶ Linux Virtual Server,阿里四层SLB (Server Load Balance)使用
nginx∶支持七层调度,阿里七层SLB使用 Tengine
haproxy∶支持七层调度
ats∶ Apache Traffic Server,yahoo捐助给apache
perlbal∶ Perl 编写
pound
基于工作的协议层次划分
传输层(通用)∶DNAT和 DPORT
LVS:
nginx: stream
haproxy: mode tcp
应用层(专用)∶针对特定协议,常称为 proxy server
http: nginx, httpd, haproxy(mode http).…
fastcgi: nginx httpd,….
mysql: mysql-proxy, mycat,maxscale...
负载均衡的会话保持
session sticky∶ 同一用户调度固定服务器
Source IP∶ LVS sh算法(对某一特定服务而言)
Cookie
session replication∶每台服务器拥有全部session
session multicast cluster
session server∶ 专门的session服务器
Memcached,Redis
HA 高可用集群实现
keepalived∶ vrrp协议 Ais∶ 应用接口规范 heartbeat cman+rgmanager(RHCS) coresync+pacemaker