【发布时间】:2016-01-31 20:58:07
【问题描述】:
我有一个具有以下结构的 OTP 应用程序:
需要什么:
- 服务(1,2,3) 需要相互通信。
- Service1 在一台物理服务器上,service2 在另一台物理服务器上,等等。
- Mnesia 数据库为所有服务共享。
我怎样才能做到这一点?
【问题讨论】:
标签: erlang distributed-computing erlang-otp mnesia
我有一个具有以下结构的 OTP 应用程序:
需要什么:
我怎样才能做到这一点?
【问题讨论】:
标签: erlang distributed-computing erlang-otp mnesia
您可能只需使用rpc 启动服务,然后手动链接以重现您指定的结构...
但是结构本身看起来不对。主要问题是您的集群最终与一些 main 和 slave 节点不对称。然而,通常你只生成一个推送到每个节点的 OTP 版本,因此在启动时执行的代码完全相同,因此所有服务都在每个节点上启动。
因此,我建议您更改架构以支持这种工作方式。我假设您基本上希望每个服务都在负载平衡的单个节点上运行。因此,您可以尝试找到一个可以为您做到这一点的框架。
例如,您可以查看riak_core 来构建分布式应用程序
【讨论】: