README.md 1.03 KB
Newer Older
kzkzzzz's avatar
kzkzzzz committed
1 2
### 采用单体仓库monorepo方案, 基于go-kratos构建微服务, 注册中心使用consul
#### https://github.com/go-kratos/kratos
kzkzzzz's avatar
kzkzzzz committed
3 4

#### monorepo参考 https://github.com/go-kratos/beer-shop
kzkzzzz's avatar
kzkzzzz committed
5

kzkzzzz's avatar
kzkzzzz committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
### 相关目录说明
```text
api 存放对应服务的proto文件
third_party 存放第三方的proto文件
app/service 服务
common 通用的工具类
script 相关shell脚本
tool 相关工具服务
tool/gateway 开发调试网关, 例如:  go run gateway.go -c 192.168.233.1:8500
``` 


#### 初始化项目, 下载依赖工具, go版本1.18以上
```shell
# 开启go module
go env -w GO111MODULE=on
# 设置国内镜像
go env -w GOPROXY=https://goproxy.cn,directc

# 下载依赖
go mod download
go mod tidy

# 下载相关命令工具
kzkzzzz's avatar
kzkzzzz committed
30 31 32
make init
```

kzkzzzz's avatar
kzkzzzz committed
33 34 35 36
#### 新建服务, 主要是复制demo项目模板并进行替换
```shell
# 例如创建user服务
make service project=user 
kzkzzzz's avatar
kzkzzzz committed
37 38
```

kzkzzzz's avatar
kzkzzzz committed
39 40 41 42 43
#### 开发环境运行服务
```shell
# 运行demo服务, 修改代码自动热重载
make run project=demo
```
kzkzzzz's avatar
kzkzzzz committed
44

kzkzzzz's avatar
kzkzzzz committed
45 46 47
#### 编译
```shell
make build project=demo
kzkzzzz's avatar
kzkzzzz committed
48 49
```