平台架构

阅读更多
上次构思了并行/分布式平台的架构,后来觉得还是有些小问题,没有解决:
* 底层组件更新问题(Erlang可以热代码升级,但没办法动态更新VM)
* 通讯底层依赖问题(Erlang也要依赖底层的稳定性)

所以对架构作了调整:
* 通讯层作为一个应用组件来提供,而不是底层平台;
* 通讯层组件作为分布式服务的发布者和远程调用代理,对它进行重启升级只是瞬时的分布式服务暂停,各服务组件不用重启,通讯层组件重启后会重新注册本地服务为分布式服务;
* 应用管理容器的角色是supervisor,它是服务的胶合者/服务定位者/服务更新的通知者,它不是路由,所以它可以自由重启升级;

这样一来,系统中各个组件都可以自由拆卸和重启,自然可以热升级,只需要把协议规范化就行,任何一个服务/节点重启不会影响到集群功能。

你可能感兴趣的:(Erlang)