概述

mqant部署分为单机部署和分布式部署,通常情况下,项目的所有模块代码都被编译到一个可执行文件中。 在分布式部署时,我们通常想将网关模块跟后端服务模块分服务器部署,即:

  • 网关服务器仅启用网关模块
  • 后端服务器仅启用后端模块

模块分组(ProcessID)

模块分组便是为了实现上面的功能而设计的,如果要不同的模块分开部署可以按如下步骤操作

  • 在配置文件中将模块的ProcessID分开
  • 在启动应用进程时指定进程ProcessID

单机部署

mqant默认的模块分组值约定为development

在调试期间可以将所有模块的分组ID都设置为development,这样一个进程就可以启用所有已实现的模块

模块ProcessID设置

"Module":{
        "moduletype":[
           {
                "Id":"moduletype",
                "ProcessID":"development"
           }
        ]
}

指定进程ProcessID

pid := flag.String("pid", "", "Server work directory")
flag.Parse() //解析输入的参数
app := mqant.CreateApp(
    module.Debug(true),  //只有是在调试模式下才会在控制台打印日志, 非调试模式下只在日志文件中输出日志
    module.Parse(false),
    module.ProcessID(*pid),
)

编译

sh build.sh

运行

mqant-example -pid mypid

Server configuration path : /work/go/mqant-example/bin/conf/server.json
2020-05-05T17:15:46.48651+08:00 [-] [-] [mypid] [I] [app.go:209] mqant  starting up
2020-05-05T17:15:46.486779+08:00 [-] [-] [mypid] [I] [ModuleManager.go:50] This service ModuleGroup(ProcessID) is [mypid]

Copyright © 梁大帅 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-05-11 17:11:57

results matching ""

    No results matching ""