Closed slowtech closed 7 months ago
你好,目前的代码逻辑是考虑充分利用服务器资源,一般会多节点部署。 且如果考虑跨机房的问题,一般建议部署两个集群,否则可能会存在一定的网络延迟,甚至某种恶劣情况集群节点本身通讯出问题,故障时不能正常的主从切换等。 当然,上述两点并不普适所有场景,具体看使用方自己的环境及使用场景。 目前这种多节点部署逻辑需要保留,我看pr中对其进行了删除,这个目前不满足所有场景,请予以兼容。如不便兼容,后期我们评估后再进行添加。
感谢回复。
public List<DeployInfo> generateInstanceInfo(List<String> machinelist, int type, int appType, int instanceNum, int maxMemory, int hasSalve, List<DeployInfo> deployInfoList) { if (!CollectionUtils.isEmpty(machinelist)) { for (int index = 0; index < instanceNum; index++) { DeployInfo deployInfo = null; if (DeployInfo.isRedisNode(type)) { deployInfo = hasSalve == 1 ? DeployInfo.getRedisInfo(appType, machinelist.get(index % machinelist.size()), maxMemory, machinelist.get((index + 1) % machinelist.size())) : DeployInfo.getRedisInfo(appType, machinelist.get(index % machinelist.size()), maxMemory, null); } else { deployInfo = hasSalve == 1 ? DeployInfo.getPikaInfo(appType, machinelist.get(index % machinelist.size()), maxMemory, machinelist.get((index + 1) % machinelist.size())) : DeployInfo.getPikaInfo(appType, machinelist.get(index % machinelist.size()), maxMemory, null); } if (deployInfo != null) { deployInfoList.add(deployInfo); } } } return deployInfoList; }
好的,我确认一下端口生成问题能不能兼容。
@slowtech 感谢提交,已经合并到main分支,后边将考虑在此基础上提供更灵活配置。
痛点:
实现的方式: