今天再次接触高可用和负载均衡,相关理解如下

  一般来讲,多台服务器搭建成一个集群来运行相应的程序,这样会避免单点故障,同时提升服务器的承载能力。

  高可用,可称为"HA"也叫做双机热备,同时实现高可用一般使用keepalived,且keepalived还支持负载均衡的作用。高可用原理是:一条心跳线同时连接两台服务器,若当中的一台服务器宕机了,备用服务器会出来顶替宕机的服务器继续运行。

  对于keepalive核心为三要素:core模块,check模块还有vrrp协议。core为主核心,作用是负责master的启动、全局配置文件的解析,check模块是负责服务器健康的检查;VRRP是通信协议,通过其实现高可用。

  负载均衡,多台服务器一起去分担应用被访问时的压力。开源软件比较受欢迎LVS和keepalive、Nginx、haproxy。主要了解了LVS,LVS是对TCP|IP协议做路由转发,它的类型分为三类:NAT模式、IP隧道、DR模式

  NAT模式:与iptables中的nat表是同样的关系,会通过一个调度器,而调度器会把请求通过预先设计好的iptables规则转发到后台真实的服务器。一般来说,一个公网ip和一个内网IP,这个优点节省公网ip

  IP隧道:将IP报文封装在另一个报文里,这可以使数据报文能转发到另一个IP地址上。缺点是:调度器和真实服务器都需要配备公网IP

  DR模式:这种模式不会封装IP报文,只会将数据帧的MAC地址改为真实的服务器MAC地址。

  LVS调度的算法:

  (1)轮询调度RR:请求依次发送给后台服务器

  (2)带权重的轮询调度WRR:权重越高的服务器收到的请求数越多,这可以根据服务器性能设置权重

  (3)最小连接调度LC:根据服务器当前的连接数来决定新的请求分发给哪一台,当前连接数多,分发概率小

  (4)带权重的最小连接调度WLC:意思就是控制了服务器性能和当前连接数的参数,共同决定新的请求分发给哪一台

  (5)基于局部性的最少连接调度

  (6)带复制的基于局部性最少连接调度

  (7)目标地址散列调度

  (8)源地址散列调度

  主流运用的基本是前四种,所以这里就叙述前四种吧 哈哈

原文地址:https://www.cnblogs.com/Liang-jc/p/9188726.html