今天游戏更新出现了一个问题,环境是这样的:顺序启动S1、S2、S3三个游戏服务器节点,能够正常工作。接着启动一个中央后台节点A,S1、S2、S3每隔几十秒的时间就会与节点A通信一次(使用erlang的进程通信方式),结果很快S2、S3崩溃了,S1能够正常工作。
查看到S2上的错误报如下:
(s2@192.168.0.1)1>
(s2@192.168.0.1)1>
=CRASH REPORT==== 18-Jul-2013::11:21:46 ===
crasher:
initial call: application_master:init/4
pid: <0.48.0>
registered_name: []
exception exit: killed
in function application_master:terminate/2 (application_master.erl, line
229)
ancestors: [<0.47.0>]
messages: []

在游戏服务器更新后,S1、S2、S3三个Erlang节点依次启动并正常工作。然而,当中央后台节点A启动并与S1、S2、S3通信时,S2和S3因全局名称冲突崩溃,而S1保持正常运行。错误报告显示在节点A上存在全局命名冲突。解决方法是为每个节点分配不同的全局注册名,从而避免冲突。
最低0.47元/天 解锁文章
898

被折叠的 条评论
为什么被折叠?



