写点什么

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:472401

评论

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

如何通过代码混淆绕过苹果机审,解决APP被拒问题

雪奈椰子

云技术分享 | 快速构建 CodeWhisperer 代码生成服务,让 AI 辅助编程

亚马逊云科技 (Amazon Web Services)

ide 生成式人工智能 CodeWhisperer

前端开发工具有哪些?17款前端工程师必备工具推荐!

彭宏豪95

效率 前端开发 开发工具 前端工程师 办公软件

HTX 与 Zebec  Protocol 深度合作,并将以质押者的身份参与 ZBC Staking

股市老人

十几种排序算法的可视化效果,快来看看!

编程的平行世界

算法 可视化

1024程序员节(源聚一堂北京站)节目有奖征集!

开放原子开源基金会

AGI 黑客松收官,Zilliz 向量数据库助力34支参赛队伍角逐大模型时代的Killer App

Zilliz

黑客松 Zilliz AGI 向量数据库

公司如何部署云桌面系统办公

青椒云云电脑

云桌面 云桌面解决方案 云桌面系统

免费:实时 AI 编程助手 Amazon CodeWhisperer

亚马逊云科技 (Amazon Web Services)

人工智能 Python 3.12 java‘ 云上探索实验室

什么是云桌面服务?有什么价值

青椒云云电脑

云桌面

桌面云电脑配置要求

青椒云云电脑

云电脑

HTX 与 Zebec  Protocol 展开深度合作,并将以质押者的身份参与 ZBC Staking

鳄鱼视界

教育行业如何选择云桌面解决方案?

青椒云云电脑

桌面云 云桌面

VMware虚拟机安装Linux系统的介绍

芯动大师

如何选择适合自己的音视频产品

X2Rtc

开源 音视频 RTC

DVD-Cloner 2023 for Mac(DVD刻录软件) v10.20.738中文激活版

mac

苹果mac Windows软件 DVD-Cloner DVD复制软件

低代码加速软件开发进程

树上有只程序猿

低代码开发 JNPF

百度世界2023 :小度发布全球首款大模型家庭智能机器人

科技热闻

加入鲲鹏HPC训练营,一起引领高性能计算新潮流

科技热闻

体育直播在线观看软件平台开发,建立常态化的促消费机制

软件开发-梦幻运营部

Scrum敏捷项目管理关键

顿顿顿

敏捷开发 敏捷项目管理 scrum敏捷工具

一键生成!盘点那些好用的3D建模AI生成工具!

Finovy Cloud

AI 3d建模

经人行批准!华为旗下支付机构更名,进入负一屏“发现”页享华为支付

最新动态

九月 NFT 行业解读:熊市情绪仍占上风

Footprint Analytics

区块链 NFT 链游

企业如何部署云桌面?选私有云还是公有云

青椒云云电脑

云桌面

HTX 与 Zebec Protocol 展开深度合作,并将以质押者的身份参与 ZBC Staking

威廉META

Python 爬虫实战之爬拼多多商品并做数据分析

Noah

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