Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
考虑到它们具有相同的侦听器侦听相同端口的请求,您如何对同一集群中的相同牛仔 http 服务器进行负载平衡?我认为通常的负载平衡循环方法在这种情况下不起作用,因为每个服务器的侦听器在服务器启动时始终处于活动状态。我在这里想念什么?
我认为你缺少的是 Cowboy 没有在集群中全局注册它的监听器,它只在本地注册它们。发送到node1的请求由运行在node1. Cowboy 不会在每个连接的节点上自动形成服务器集群。需要在您的每个节点上启动 Cowboy 服务器,并且它们将彼此独立运行。
node1
管理负载平衡的最佳方法是使用反向代理,例如 Nginx,并让它在整个集群中重定向请求。
如果您需要将请求路由到全局注册进程的“粘性会话”,那么您应该global:whereis_name/1从 Cowboy 处理程序中进行查找(使用)并从那里将消息路由到整个集群。
global:whereis_name/1