HAProxy的四层负载均衡

yinhex 发布于 2011/12/31 10:52
阅读 3K+
收藏 3

如何使用英特尔®oneAPI工具实现PyTorch 优化,直播火热报名中>>>

红薯:haproxy支持四层的负载均衡。懂的童鞋可否分析一下4层的负载均衡实现原理呢?最好有代码的例子。有haproxy的源码分析更好啊!

加载中
0
yinhex
yinhex
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
强子大叔的码田
强子大叔的码田

首先,HAPROXY的原理是这样的

                      |------------------

客户端的读____|                           |--------服务器的写

客户端的写___|                           |--------服务器的读

                      |------------------|

客户端连接到haproxy后,haproxy创建一个会话,左边填写客户端的信息

那么问题来了,右边服务器怎么办?采用负载均衡从N个服务器选择一个

connect选中的服务器,然后把这个服务器的信息写在会话的右边。

准备工作做好后,左边从客户单接收到啥,就写到右边的服务器。

---

由于在选择右边的服务器时,采用了负载均衡算法,所以实现了分流。

对于通过会话的内容,不需要干预,那就是TCP模式

如果需要干预,常用于HTTP模式,那就是在发送给右边的服务器之间

自己把内存里的内容重新组织一下,BALABALA.

理论上没啥难度,但是要考虑到各种异常,

比如左边的连接断了,后边的服务器宕机了

对这个会话有什么影响之类的。

我看了点源码,远没有redis的代码写的简练,就放弃了。

 haproxy的代码写得真是,无力吐槽。


OSCHINA
登录后可查看更多优质内容
返回顶部
顶部