我想用illang来说明分布式应用程序的概念。我的系统目前有一台服务器和一台ATM。我尽量保持简单。erlang分布式银行系统
目前我的应用程序在本地运行。我正在使用gen_server
作为银行服务器和ATM之间的客户端 - 服务器关系。我也有一个gen_fsm
模块来建议我的ATM有不同的状态。为了存储我使用dict
模块的任何数据(我不想使用数据库使事情更加复杂)。为了保持进程活着(gen_server
和gen_fsm
)我正在使用supervisor
进程。我已经将所有模块封装为应用程序,但目前它都是本地的。任何想法将不胜感激。
我想在两个不同的节点上启动相同的应用程序,并说明使用某种故障转移/接管机制的分布式概念,但我对使用哪些模块没有任何意见。
- 是否必须使用目标系统(在某些时候我必须做一个热升级到应用程序)
- 什么是正确的顺序来做这些事情:首先升级,然后分发?
如果有人能给我一些关于如何完成所有这些事情的想法,我将不胜感激。
你问你应该专注于首先,热升级还是分配?没有什么是非常强制的:-)但是在分布式系统和热代码升级时使用目标系统和OTP将会帮助你很多。 –
我必须同时做这两件事。我的应用程序已经根据OTP规则进行了结构化,但我的行为过程(服务器,fsm,主管)都是本地的。我想使用版本可以做热升级的工作。关于分发,我还没有找到任何关于如何创建以及为每个节点放置配置文件的适当示例。一些指导方针,也许关于如何实现这两个事情的顺序将非常有帮助。感谢你的时间亚当。 – ar3tzu