技术文章
集群环境下多个node节点通过向所有center节点报告节点上应用模块的方式进行同步,逻辑如下:
1.由node向centerServer进行报告,每10秒一次.
2.node节点访问主centerServer获取所有模块列表.
3.node节点定时刷新模块,如果25秒内没有更新则主动将模块设置为掉线.
4.如果node节点有一个模块没有自检通过,将此node节点上所有模块全部报告下线.
4.所有节点定时选举一个centerServer作为主center.
存在情况,如果前端http服务器已经无法响应,但是服务器后端报告程序正常,那么可能将无法正常访问的节点分配给用户进行服务,
所以可以在节点进行汇报时进行健康检查,判断是否正常.
通过配置o2server/node_xxx.xxx.xxx.xxx.json来配置此功能:
{ "selfHealthCheckEnable": false }
selfHealthCheckEnable:在汇报前进行自我检查,默认为false.