我试图用Erlang来说明分布式应用程序的概念。我的系统目前有一台服务器和一台ATM。我尽量保持简单。
目前我的应用程序在本地运行。我正在使用gen_server
来获取银行服务器和ATM之间的客户端 - 服务器关系。我还有一个gen_fsm
模块来建议我的ATM有不同的状态。为了存储任何数据我使用dict
模块(我不想使用数据库使事情变得更复杂)。为了使进程保持活动状态(gen_server
和gen_fsm
),我正在使用supervisor
进程。我把所有模块都包装成一个应用程序,但目前它都是本地的。任何想法都将受到高度赞赏。
我正在考虑在两个不同的节点上启动相同的应用程序,并说明分布式概念使用某种故障转移/接管机制,但我不知道要使用哪些模块。
如果有人能就如何完成所有这些事情给我一些想法,我将非常感激。
答案 0 :(得分:1)
我自己从未尝试过,但文档似乎指出: Erlang Release Handling(11.3分布式系统)。
这是一个显示sync_nodes
命令的非常短的段落,我建议你阅读整章,因为我注意到在Erlang中并发和分发的概念经常是如此,以至于像你这样的问题已经解决了包括在OTP中。
希望这有帮助,如果您需要更多帮助,请问!