2

考虑到它们具有相同的侦听器侦听相同端口的请求,您如何对同一集群中的相同牛仔 http 服务器进行负载平衡?我认为通常的负载平衡循环方法在这种情况下不起作用,因为每个服务器的侦听器在服务器启动时始终处于活动状态。我在这里想念什么?

4

1 回答 1

1

我认为你缺少的是 Cowboy 没有在集群中全局注册它的监听器,它只在本地注册它们。发送到node1的请求由运行在node1. Cowboy 不会在每个连接的节点上自动形成服务器集群。需要在您的每个节点上启动 Cowboy 服务器,并且它们将彼此独立运行。

管理负载平衡的最佳方法是使用反向代理,例如 Nginx,并让它在整个集群中重定向请求。

如果您需要将请求路由到全局注册进程的“粘性会话”,那么您应该global:whereis_name/1从 Cowboy 处理程序中进行查找(使用)并从那里将消息路由到整个集群。

于 2014-07-20T20:40:44.983 回答