以插件的方式提供服务

如图:
在这里插入图片描述
go-x 通过参数 app 来指定要启动什么服务。上图开启了 Login 服务
go-x 与插件大致如下图:
在这里插入图片描述

go-x 入口程序,对应各服务 .so 文件

那么是如何做到以上实现呢

这里用到了 go build -buildmode=plugin

-buildmode=plugin

buildmode 的使用请参见官方文档:

  • https://golang.org/pkg/plugin/
  • https://golang.org/cmd/go/#hdr-Build_modes

文档中说的很清楚了,直接上例子了。

生成插件脚本:

for plugin_n