以插件的方式提供服务
如图:
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