小编Wil*_*der的帖子

Phoenix应用程序如何仅针对在多台计算机上使用通道规模进行定制?使用HAProxy?如何向所有节点广播消息?

我使用节点应用程序纯粹用于与Redis PubSub的socket.io通道,目前我将它分布在3台机器上,由其中一台机器上的nginx负载平衡支持.

我想用Phoenix应用程序替换这个节点应用程序,我仍然是erlang/Elixir世界的新手,所以我仍然没有弄清楚一个Phoenix应用程序如何跨越多台机器.谷歌搜索所有可能的缩放和负载平衡术语没有产生任何结果.

1.0版本说明提到这一点对于渠道:

即使在一组计算机上,您的消息也会自动在节点间广播

1)所以我基本上将我的应用程序部署到N个服务器,在每个服务器中启动Cowboy服务器,类似于我如何处理节点,我将它们绑定到nginx/HAProxy

2)如果是这种情况,如何在发布说明中提到的所有节点上广播频道消息?

编辑3:采用Theston的答案澄清了凤凰应用程序没有这样的东西,而是Elixir/Erlang应用程序,我更新了我的搜索术语,并发现了一些有关缩放和负载平衡的有趣结果.

编辑2:从Elixir的创建者那里找到:

Elixir为进程分组和全局进程(节点之间共享)提供了便利,但您仍然可以使用Consul或Zookeeper等外部库进行服务发现,或者依靠HAProxy为基于HTTP的前端进行负载均衡.

编辑:在同一局域网上连接Elixir节点是第一个提到Elixir通信的节点,但它与Phoenix本身无关,并且不清楚它与负载平衡和每个Phoenix节点与另一个节点通信的关系.

elixir publish-subscribe websocket socket.io phoenix-framework

7
推荐指数
1
解决办法
2234
查看次数