Scale On:向上扩展(更换服务器)
硬件配置增长跟性能是线性的增长(仲裁)
Scale Out:向外扩展
DNS有缓存,不能依靠DNS的分发机制
Cluster
LB集群(数据保存在专门的数据库服务器,附件的指针可以存放在数据库表中,或者附件放在NFS文件服务器中,rsync可以拷贝变化的量 inotify)--- 提升处理能力
HA集群 --- 提升实时在线能力(服务可用性)
高性能集群 ---分布式文件系统、将大任务切割为小任务,分别进行处理的机制
NAT:
集群节点跟director必须在同一个IP网络中
RIP通常是私有地址,仅用于各集群节点间的通信
director位于client和real server之间,并负责处理进出的所有通信
realserver必须将网关指向DIP
支持端口映射
realserver可以使用任意OS
较大规模应用场景中,director易成为系统瓶颈
DR:
集群节点跟director必须在同一个物理网络中
RIP可以使用公网地址了,实现便捷的远程管理和监控
director只处理入站请求,相应报文则由rserver直接发往客户端
realserver不能将网关指向DIP,直接使用前端网关
director不支持端口映射
大多数的操作系统可以用于realserver(因为VIP必须要隐藏)
DR可以处理比NAT多得多的realserver(只相应请求,不回复节省了很多资源)
TUN:
集群节点可以跨越互联网
realserver RIP必须是公网地址(借助互联网通信)
director仅处理入站请求,响应报文则由realserver直接发往客户端
realserver不能将网关指向DIP
只有支持隧道功能的OS才能用于realserver
director不支持端口映射
LB调度方法:
rr:
wrr:
hash:只要是来自同一个客户端的请求被发往同一台服务器(hash表存放在director),用于会话绑定(session affinity)
http是无状态的,需要引入cookie(客户端保存),早期的cookie不保存服务器信息,每次访问服务器的时候会将所有的cookie信息都发送给服务器,
因为服务器会收集用户的行为(访问过哪些网站),现在推出了轻cookie,即在服务器端开辟一块内存区域存储用户行为信息,只返回一个标识给用户,
这片服务器内存区域我们叫做session。
dh:以目标地址为主机进行挑选
如后端是cache server的前提下,来自不同用户的同一行为最好被定位到同一个cache server。