### 采用单体仓库monorepo方案, 基于go-micro构建微服务, 注册中心使用consul #### https://github.com/asim/go-micro ### 相关目录说明 ```text api 存放对应服务的proto文件 third_party 存放第三方的proto文件 service 一个目录一个服务 common 通用的工具类 script 相关shell脚本 tool 相关工具服务 tool/gateway 开发调试网关, 例如: go run gateway.go -c 192.168.233.1:8500 ``` #### 初始化, 下载依赖工具 ```shell make init ``` #### 新建项目, 主要是复制demo项目模板并进行替换 ```shell # 例如创建user服务 make gen project=user ``` #### 开发环境运行服务 ```shell # 运行demo服务, 修改代码自动热重载 make run project=demo ``` #### 编译 ```shell make build project=demo ```