正如erlang的官方文档Distributed Erlang中所述,erlang节点可以与同一erlang集群中的其他节点通信(发出消息)。因此,可以发出如下消息:
Nodes A, B, C and D
A --> B
A --> C
B --> A
C --> B
...根据我的问题,通过“代理感知”,我的意思是:我们可以让一个节点根据负载平衡规则向任何其他可用的节点发出消息吗?
A --> [ B or C or D ]
B --> [ A or C or D ]
...嗯,我知道设计这个是“可能的”,这需要一些状态管理,等等。但是有没有内置的功能呢?如果不是,有人知道的任何不是非erlang消息驱动的开源项目(总体上不包括RabbitMQ等,因为我想要一个纯粹的erlang消息代理)?
发布于 2014-12-18 01:53:21
我不认为有一个库可以解决这个问题,因为这个问题非常普遍。你的计算可能是CPU受限的,内存受限的,网络受限的,或者使用其他资源的。一些任务应该是“接近数据”的。例如,当磁盘上有大量数据时,这些数据必须通过网络传输。
最简单的方法是让一些中央的“工作经理”和工人来找工作。另一种选择是使用某种度量,并像在this post on mailing list中那样更新它
https://stackoverflow.com/questions/27529206
复制相似问题