我阅读了弹性beanstalk程序中的aws
文档,其中aws
负责扩展服务器并自动管理它。在同一文档中,有一个用于更改和配置负载均衡器的选项。在我的情况下,我想更改它以平衡来到IP网络层(L3)上的服务器的请求,但它表示只能监听和平衡HTTP
和TCP
。
我正在开发一个聊天应用程序后端,需要在考虑范围内进行扩展。如何配置负载均衡器以监听L3
?
聊天应用程序为了工作它必须与服务器建立tcp
连接而不是负载均衡器,这就是为什么我必须将IP层上的数据包加载到服务器,以便服务器可以建立{{ 1}}与应用程序的连接(如果我错了,我可以在tcp
图层上告诉我)。
如果我不能,那是否会给我另一个选择,或者我将被迫使用tcp
并自己处理所有系统管理开销并创建我自己的负载均衡器?
答案 0 :(得分:1)
ELB Classic可在第4层或第7层运行。这些都是选项。
聊天应用程序为了工作它必须与服务器进行tcp连接而不是负载均衡器,这样我必须将IP层上的数据包加载到服务器,以便服务器可以建立tcp连接与应用程序。
你实际上对此不正确。如果您需要知道客户端的源IP地址,可以在ELB上启用代理协议,并在服务器代码中支持此功能。
当ELB建立与实例的每个新连接时,启用代理协议,ELB会发出一个单行前导码,其中包含描述外部连接的5路元组,应用程序可以解释该连接。然后它打开L4连接的有效负载流,并且对于连接的其余部分是透明的。
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html