003 LVS负载均衡集群搭建

  • 负载均衡集群简介
  • LVS简介
  • LVS IP Tunnel模式
  • LVS DR模式
  • LVS调度算法
  • LVS集群搭建
负载均衡集群介绍
  • 主流开源软件LVS、Keepalived、haproxy、nginx等。
  • LVS属于4层负载均衡,Nginx属于7层负载均衡,Haproxy即可以认为是4层,也可以做7层使用。
  • LVS这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL,而Nginx仅仅支持HTTP、HTTPS、Mail;Haproxy也支持MySQL;
  • 相比较来说,LVS这种4层的更稳定,能承受更多的请求,而Nginx这种7层的更加灵活,能实现更多个性化需求。
LVS简介
  • LVS是由国人章文嵩开发。
  • LVS是基于TCP/IP做的路由转发,稳定性和效率很高。
  • LVS是工作于Linux内核中的。
  • LVS有三种常见的模式:NAT、DR、IP Tunnel
  • LVS架构中有一个核心的角色叫分发器(Load Balancer),它用来分发用户的请求。

一个LVS集群往往包含以下角色:

  1. DS:Director Server。指前端负载均衡器节点。
  2. RS:Real Server。后端真实的工作服务器。
  3. VIP:Load Balancer对外暴露的虚拟IP,向外部直接面向用户请求,作为用户请求的目标IP地址。
  4. DIP:Director Server IP。主要用于和内部主机通讯的IP地址。
  5. RIP:Real Server IP,后端服务器的IP地址。
  6. CIP:Client IP。客户端的IP地址。
NAT模式(改IP)
  • 借助iptables的nat表来实现。
  • 用户的请求到分发器后,通过预设的iptables规则,把请求的数据包转发到后端的RS上去。
  • RS需要设定网关为分发器的内网IP
  • 用户请求的数据包和返回给用户的数据包全部经过分发器,所以分发器成为瓶颈。
  • 只需要分发器有公网IP即可,所以比较节省公网IP资源。
IP Tunnel模式(封装报文)
  • 需要有一个公共的IP配置在分发器和所有的RS上,也就是VIP
  • 客户端请求的目标IP为VIP,分发器接收到请求数据包后,会对数据包做一个加工(协议包装,将原数据包作为包装协议的payload,),会把目标IP改为RS的IP,这样数据包就到了RS上。
  • RS接收数据包后,会还原原始数据包,这样目标IP为VIP,因为所有RS上配置了这个VIP,所以它会认为是它自已。
DR模式(改Mac)
  • 这种模式也需要有一个公共的IP配置在分发器和所有RS上,也就是VIP。
  • 和IP Tunnel不同的是,它会把数据包的MAC地址修改为RS的MAC地址。
  • RS接收数据包后,会还原原始数据包,这样目标IP为VIP,因为所有RS上配置了这个VIP,所以它会认为是它自已。
LVS调度算法
  1. 轮叫 Round Robin
  2. 加权轮叫 Weighted Round Robin
  3. 最少链接 Least Connections
  4. 加权最少链接 Weighted Least Connections
  5. 基于局部性的最少链接 Locality-Based Least Connections
  6. 带复制的基于局部性的最少链接 Locality-Based Least Connections with Replication
  7. 目标地址散列 Destination Hashing
  8. 源地址散列 Source Hashing
LVS集群搭建
发布了32 篇原创文章 · 获赞 0 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/h13140995776/article/details/101642579
003