置顶 mqant分布式部署启动和配置思路
发布于 7 个月前 作者 liangdas 1012 次浏览 最后一次编辑是 6 个月前 来自 分享

**w:**哦,你在一个配置文件里面把整个部署的情况都写在里面,然后所有的进程通用一份配置,不管是否部署在同一台物理机子上,只要进程的PID不同就行了,可以这么理解吗?

**q:**完全正确

**w:**进程启动命名是什么格式?

**q:**server -pid [ProcessID 进程ID] -conf [配置文件路径] -log [日志目录]

例如下面的例子:

Login的一个模块被分配到了 pid=login 的进程中运行 Chat的一个模块被分配到了 pid=chat01 和 pid=chat02 的两个进程中运行

"Login":[
            {
                "Id":"Login001",
                "ProcessID":"user",
                "Redis":{
                    "Uri"          :"redis://:xxx@xxx:6379/10",
                    "Queue"        :"Login001"
                }
            }
    ],
    "Chat":[
               {
                    "Id":"Chat001",
                    "ProcessID":"chat01",
                     "Redis":{
                        "Uri"          :"redis://:xxx@xxx:6379/10",
                        "Queue"        :"Chat001"
                    }
					 {
                    "Id":"Chat002",
                    "ProcessID":"chat02",
                     "Redis":{
                        "Uri"          :"redis://:xxx@xxx:6379/10",
                        "Queue"        :"Chat002"
                    }
               }
           ],
9 回复

借这串问个问题,如果是部署到不同的物理机,需要先启动一个新的Gate module进程配置吗?

@shinjuwu 没太看懂你想表达什么意思,分布式一般不分物理机,只要保证rpc能相互通就行

@liangdas 我的意思是,如果刚好配置在不同的新物理机,那不同物理机的ip要怎麽填? 是新增不同的gate模组来填吗?

mqant里面不需要管物理机IP,只需要管rpc通道的配置,例如你用redis做rpc,那么只需要保证各个物理机能连通redis就行

噢噢噢!! 我有点理解了!! 谢谢群主,我来试试看先!!!

mqant 是怎么保持一致性的 求大佬赐教!!!

@liangdas mqant 是怎么保持一致性的 求大佬赐教!!! 例如: login模块 启动了 A和B 两个进程 玩家 C的请求 由A处理 那么B 是如何 知道C 已经登录了 如何保持这两个 进程中的数据一致?

数据一致性不应该由框架来保证,而是项目自身去保障,这样不做深入讨论

回到顶部