README.md 1.14 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
### 相关目录说明
```text
api 存放对应服务的proto文件
third_party 存放第三方的proto文件
app/service 服务
common 通用的工具类
script 相关shell脚本
``` 


#### 初始化项目, 下载依赖工具, 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
28 29 30
make init
```

kzkzzzz's avatar
kzkzzzz committed
31 32 33
#### 新建服务, 主要是复制demo项目模板并进行替换
```shell
# 例如创建user服务
kzkzzzz's avatar
kzkzzzz committed
34
make gen project=user 
kzkzzzz's avatar
kzkzzzz committed
35
# 创建job TODO 待实现
kzkzzzz's avatar
kzkzzzz committed
36
make gen project=user type=job 
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
```

kzkzzzz's avatar
kzkzzzz committed
50 51 52 53 54
#### 编译全部
```shell
make build-all
```

kzkzzzz's avatar
kzkzzzz committed
55 56 57 58 59 60
#### 外部服务
```text
consul 服务注册中心
Jaeger 服务调用链路追踪
kafka 服务之间异步通信
```