Exp*_*ple 5 haproxy amazon-web-services websocket elastic-load-balancer
目前,我们在mesos-marathon集群中运行了200个容器(几个不同的应用程序).这是HAproxy实例的后面部分,适用于HTTP/HTTPS协议.
Internet - > AWS ELB - > HAProxy - > Docker容器
现在我们需要使一个现有的应用程序在WEBSOCKET协议上运行.我们正在考虑添加新的AWS ALB来实现这一目标.因此设置将是
(WebSocket)
Internet --> new AWS ALB --> HAProxy --> Docker containers
(HTTP/S)
Internet --> AWS ELB --> HAProxy --> Docker containers
Run Code Online (Sandbox Code Playgroud)
我们需要做什么设置才能使HAproxy与当前的HTTP/S以及新的WEBSOCKET一起使用?
Kus*_*yas -1
\n\n\n服务器每个 IP 地址可以处理 65,536 个套接字。因此,可以通过向服务器添加额外的网络接口来轻松扩展数量。同时,跟踪服务器上存在的连接数非常重要。一旦超出限制,\n 其他 TCP 连接可能会出现很多问题(例如\xe2\x80\x99s 无法\n 通过 ssh 连接到服务器)。因此,限制应用程序代码中每个节点的 WS 连接是一个好主意。
\n
要使 HAProxy 处理超过 65k 个连接,我们应该执行以下步骤:
\n\n通过 SSH 连接到您的 HAProxy 实例并运行以下命令:
\n\n$> ifconfig eth0:1 192.168.1.1
$> ifconfig eth0:2 192.168.1.2
$> ifconfig eth0:3 192.168.1.3
这将为实例添加 3 个虚拟网络接口。
\n\n配置 HAProxy。以下是接受 WS 连接的 3\n节点的 haproxy.cfg 文件的一部分:
\n\n听 erlang_front :8888
\n\nmode http\n\nbalance roundrobin\n\ntimeout connect 1s\n\ntimeout queue 5s\n\ntimeout server 3600s\n\noption httpclose\n\noption forwardfor\n\nserver xxxxx-1 192.168.0.1:8888 source 192.168.1.1\n\nserver xxxxx-2 192.168.0.2:8888 source 192.168.1.2\n\nserver xxxxx-3 192.168.0.3:8888 source 192.168.1.3\nRun Code Online (Sandbox Code Playgroud)现在HAProxy可以处理超过65,536个WebSocket连接,并且可以通过添加虚拟网络接口轻松增加连接限制。此外,它可以相当快地建立新连接。
\n\n另请参阅此博客文章
\n| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |