https://www.cnblogs.com/xzwblog/p/7255364.html
https://www.cnblogs.com/itfly8/p/5043435.html
集群
计算机集群通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。集群系统中的单个计算机通常称为节点。集群计算机通常用来改进单个计算机的计算速度和可靠性。
单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。
- 高可用性集群:当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。
- 负载均衡集群:通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上。
- 高性能计算集群:高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域。
分布式
一个业务分拆成多个子业务,或者本身就是不同的业务,部署在不同的服务器上。
分布式是以缩短单个任务的执行时间来提升效率的;分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务可能就失败了。
负载均衡
负载均衡技术通过设置虚拟服务器IP(VIP),将后端多台真实服务器的应用资源虚拟成一台高性能的应用服务器,通过负载均衡算法,将用户的请求转发给后台内网服务器,内网服务器将请求的响应返回给负载平衡器,负载平衡器再将响应发送到用户。
- 实现了一个简单、扩展性强、可靠性高的应用解决方案,解决了单台服务器处理性能不足,扩展性不够,可靠性较低的问题。
- 向互联网用户隐藏了内网结构,阻止了用户直接访问后台(内网)服务器,使得服务器更加安全。
- 阻止对核心网络栈和运行在其它端口服务的攻击。
- 负载均衡设备会持续的对服务器上的应用状态进行检查,并自动对无效的应用服务器进行隔离。
-
TCP 连接复用(TCP Connection Reuse)
TCP连接复用技术通过将前端多个客户的HTTP请求复用到后端与服务器建立的一个TCP连接上。这种技术能够大大减小服务器的性能负载,减少与服务器之间新建TCP连接所带来的延时,并最大限度的降低客户端对后端服务器的并发连接数请求,减少服务器的资源占用。
采用TCP连接复用技术后,客户端(如:ClientA)与负载均衡设备之间进行三次握手并发送HTTP请求。负载均衡设备收到请求后,会检测服务器是否存在空闲的长连接,如果不存在,服务器将建立一个新连接。当HTTP请求响应完成后,客户端则与负载均衡设备协商关闭连接,而负载均衡则保持与服务器之间的这个连接。当有其它客户端(如:ClientB)需要发送HTTP请求时,负载均衡设备会直接向与服务器之间保持的这个空闲连接发送HTTP请求,避免了由于新建TCP连接造成的延时和服务器资源耗费。
三大基本特征
负载均衡算法:
- 轮询(RoundRobin):将请求顺序循环地发到每个服务器。当其中某个服务器发生故障,AX就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
- 比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。
- 优先权(Priority):给所有服务器分组,给每个组定义优先权,将用户的请求分配给优先级最高的服务器组。
- 最少连接数(LeastConnection):AX会记录当前每台服务器或者服务端口上的连接数,新的连接将传递给连接数最少的服务器。
- 最快响应时间(Fast Reponse time):新的连接传递给那些响应最快的服务器。
- 哈希算法( hash): 将客户端的源地址,端口进行哈希运算,根据运算的结果转发给一台服务器进行处理。
- 基于数据包的内容分发:例如判断HTTP的URL,如果URL中带有.jpg的扩展名,就把数据包转发到指定的服务器。
健康检查:
健康检查用于检查服务器开放的各种服务的可用状态。
- Ping:属于第三层的健康检查,用于检查服务器IP的连通性。
- TCP/UDP:属于第四层的健康检查,用于检查服务端口的UP/DOWN。
- HTTP:创建一个HTTP健康检查,Get一个页面回来,并且检查页面内容是否包含一个指定的字符串,如果包含,则服务是UP的,如果不包含或者取不回页面,就认为该服务器的Web服务是不可用(DOWN)的。
创建健康检查时可以设定检查的间隔时间和尝试次数,例如设定间隔时间为5秒,尝试次数为3,那么负载均衡设备每隔5秒发起一次健康检查,如果检查失败,则尝试3次,如果3次都检查失败,则把该服务标记为DOWN,然后服务器仍然会每隔5秒对DOWN的服务器进行检查,当某个时刻发现该服务器健康检查又成功了,则把该服务器重新标记为UP。
会话保持:
根据业务自行解决。