AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

LVS 简介

  • 2019-11-14
  • 本文字数:992 字

    阅读完需:约 3 分钟

LVS简介

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

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 服务器。

4 系统层面的高可用

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


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)返回给用户。



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


本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/K7g5qVBr7FghbzVwFA2NUg


2019-11-14 16:472533

评论

发布
暂无评论
发现更多内容

【世界杯黑技术专题】「原理探索专题」一文解读一下“卡塔尔世界杯”的先进技术之半自动越位技术SAOT+比赛用球Al Rihla

码界西柚

12月日更 世界杯 世界杯黑科技

【漏洞分析】Apache ShardingSphere-Proxy <5.3.0 身份认证绕过

墨菲安全

开源 安全漏洞 软件供应链安全

华为云桌面,如何助力企业云上轻松办公

科技怪授

云桌面

协同高效运转,华为云桌面助力企业数字化转型!

科技说

运维自动化之监控平台

大V

DevOps 运维自动化 监控报警

学生系统架构图

lory(侯保国)

卓越实力备受认可 HashData再获权威大奖

酷克数据HashData

金融科技 数据库·

数据库原理及MySQL应用 | 数据表操作

TiAmo

:MySQL 数据库 数据库· 12月月更

数字孪生赋能智慧港口解决方案,助力港口数字化转型

袋鼠云数栈

数字孪生

Elasticsearch查询及聚合类DSL语句宝典

京东科技开发者

数据库 存储 ES dsl 查询语句

阿里最新产:SpringCloud微服务架构进阶笔记(2023终极版)

程序员小毕

程序员 微服务 后端 架构师 java面试

职场新人有没有潜力,看这一个能力就够了!

图灵教育

数据分析 图表 可视化数据

基于Redis实现DelayQueue延迟队列设计方案(附源码)

石臻臻的杂货铺

redis

现在即未来,华为云桌面引领桌面变革新潮

科技说

阿里云IoT物联网实例讲解——实践类

阿里云AIoT

阿里云 物联网平台 IoT 设备管理

如何优雅的写 css 代码

京东科技开发者

CSS 前端 代码 优化 精简

程序员是“短命”职业吗?年龄大了是不是没前途?

千锋IT教育

架构实战营第十期模块三作业

刘博

物联网设备端的传感器数据如何实时上报到云平台——实践类

阿里云AIoT

安全 物联网 物联网安全 技术标签

由浅入深剖析JDK源码!美团大牛手撸并发原理笔记真香

Java永远的神

程序员 并发编程 后端 jdk源码 架构师

全网最全 java 进制转换详解

千锋IT教育

数据可视化软件有哪些?

优秀

数据可视化工具

单测在商家前端业务中的实践

得物技术

架构 前端 Web 测试 单元测试 12 月 PK 榜

如何区分位图和矢量图格式?怎样一键把位图转换成矢量图?

互联网民工阿强

AI 位图 图片处理 矢量图 格式转换

职场新人有没有潜力,看这一个能力就够了!

图灵社区

数据分析 图表 可视化数据

数据库上云已成趋势,华为云数据库与传统数据库对比解析

与时俱进的时代

5大理由告诉你,为什么选择华为云桌面

与时俱进的时代

学习下Redis内存模型

京东科技开发者

Java 前端 内存 数据存储 内部编码

AI技术赋能数智化转型,激发企业变革创新

用友BIP

微信业务架构图

lory(侯保国)

TCP-SYN超时重传问题排查

Kevin Wu

高并发 网关 TCP协议

LVS简介_文化 & 方法_杨旭_InfoQ精选文章