erlang分布式银行系统

时间:2011-07-23 21:12:57

标签: erlang system distributed

我试图用Erlang来说明分布式应用程序的概念。我的系统目前有一台服务器和一台ATM。我尽量保持简单。

目前我的应用程序在本地运行。我正在使用gen_server来获取银行服务器和ATM之间的客户端 - 服务器关系。我还有一个gen_fsm模块来建议我的ATM有不同的状态。为了存储任何数据我使用dict模块(我不想使用数据库使事情变得更复杂)。为了使进程保持活动状态(gen_servergen_fsm),我正在使用supervisor进程。我把所有模块都包装成一个应用程序,但目前它都是本地的。任何想法都将受到高度赞赏。

我正在考虑在两个不同的节点上启动相同的应用程序,并说明分布式概念使用某种故障转移/接管机制,但我不知道要使用哪些模块。

  • 是否必须使用目标系统?(在某些时候我必须对应用程序进行热升级)
  • 执行这些操作的正确顺序是什么:首先升级然后分发?

如果有人能就如何完成所有这些事情给我一些想法,我将非常感激。

1 个答案:

答案 0 :(得分:1)

我自己从未尝试过,但文档似乎指出: Erlang Release Handling(11.3分布式系统)。

这是一个显示sync_nodes命令的非常短的段落,我建议你阅读整章,因为我注意到在Erlang中并发和分发的概念经常是如此,以至于像你这样的问题已经解决了包括在OTP中。

BTW,Erlang用户指南还有一整章致力于Distributed Applications,似乎与分布式应用程序配置选项有关,我认为这两个应该可以解决问题。

希望这有帮助,如果您需要更多帮助,请问!