LVS简介

女主宣言

lvs负载均衡在高并发的web开发中得到了广泛的应用,相信各位同事也或多或少的接触过。但是大家对lvs的工作原理了解多少呢?本文作者经过对lvs在hulk云平台上的应用探索,对lvs架构进行了初步的介绍,对用户的请求是如何散列到lvs服务器上的问题做了详解。下来就跟随作者一起认识下lvs负载均衡吧。

PS:丰富的一线技术、多元化的表现形式,尽在“360云计算”,点关注哦!

640?wx_fmt=jpeg

1

什么是负载均衡

LVS负载均衡是将用户访问请求根据一定的转发策略分发到后端多台服务器(支持物理机/虚机/容器等)的流量分发控制服务。它采用LVS(Linux Virtual Server) + keepalived的方式实现,设置虚拟服务地址(VIP),通过健康检查自动摘除不可用的服务器,从而提升应用的整体服务能力,增强应用的可用性。

2

负载均衡带来了什么好处

  1. 保护后端RS,不直接暴露给用户。

  2. 对后端RS进行健康检查。

  3. 按策略分发流量至后端RS。

3

Hulk LVS集群架构详解

使用BGP+ECMP的模式构建集群,用ECMP将数据包散列到集群中各个节点上,通过BGP协议保证单台机器故障后将这台机器的路由动态的剔除出去,由此做到了动态failover。

用户请求是如何散列到LVS服务器上

LVS服务器通过BGP将VIP发布到网络中,LVS专用交换机学习到VIP,形成BGP多路等价路由(ecmp),根据哈希因子计算得到hash lb key,进行 ECMP 下一跳链路数(Member-count)求余计算,再与ECMP基值进行加法运算得出转发下一跳index,即确定了下一跳转发路由到达LVS服务器。

640?wx_fmt=png

4

系统层面的高可用

LVS服务器采用双万兆网卡,图中ETH1、ETH3为万兆外网口上联TOR交换,所以当上联TOR交换机故障后流量可动态切到ETH3网卡,来保障业务的高可用。

640?wx_fmt=png

5

HULK LVS转发面板介绍

  1. 用户通过(CIP+CPORT)访问(VIP+VPORT)请求到达LVS服务器。

  2. LVS服务器维护一张session表,将(CIP+CPORT转换为BIP+BPORT)(VIP+VPORT转换为RIP+RPORT)转发至后端RS。

  3. 后端RS收到请求包后发现RIP,PORT目标为本机,则构建响应报文,转发给BIP+BPORT。

  4. LVS服务器收到RS回包后,通过之前维护的SESSION表将(RIP+RPORT转换为VIP+VPORT)(BIP+BPORT转为为CIP+CPORT)返回给用户。

640?wx_fmt=png

注:通过BIP替换转发的方式获取不到客户端真实IP地址,因此需要给内核打TOA及TTM模块将真实IP从TCP option中取出放到内核sock中。

360云计算

由360云平台团队打造的技术分享公众号,内容涉及数据库、大数据、微服务、容器、AIOps、IoT等众多技术领域,通过夯实的技术积累和丰富的一线实战经验,为你带来最有料的技术分享

640?wx_fmt=png
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值