乐趣区

关于go:Go-分布式微服务

Go – 散布式微服务

环境搭建

wget https://go.dev/dl/go1.17.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.17.2.linux-amd64.tar.gz
go version

export GOBIN=$GOPATH/bin
export PATH=$GOPATH:$PATH
export GOROOT=/usr/local/go
export GOPROXY=https://goproxy.cn/,direct

# goctl
go install github.com/zeromicro/go-zero/tools/[email protected]

服务拆分

 一个商城我的项目能够拆分为
用户服务(user)、订单服务(order)、产品服务(product)、领取服务(pay)...

每个服务都能够再分为 api 服务和 rpc 服务
api 服务对外,可提供给 app 调用
rpc 服务是对内的,可提供给外部 api 服务或者其余 rpc 服务调用 

创立我的项目

mkdir mall && cd mall && go mod init mall
mkdir service && cd service

用户服务

api 服务 端口: 8000 rpc 服务 端口: 9000
login 用户登录接口 login 用户登录接口
register 用户注册接口 register 用户注册接口
userinfo 用户信息接口 userinfo 用户信息接口
mkdir -p user/api user/rpc user/model

产品服务

api 服务 端口: 8001 rpc 服务 端口: 9001
create 产品创立接口 create 产品创立接口
update 产品批改接口 update 产品批改接口
remove 产品删除接口 remove 产品删除接口
detail 产品详情接口 detail 产品详情接口
mkdir -p product/api product/rpc product/model

订单服务

api 服务 端口: 8002 rpc 服务 端口: 9002
create 订单创立接口 create 订单创立接口
update 订单批改接口 update 订单批改接口
remove 订单删除接口 remove 订单删除接口
detail 订单详情接口 detail 订单详情接口
mkdir -p order/api order/rpc order/model

领取服务

api 服务 端口: 8003 rpc 服务 端口: 9003
create 领取创立接口 create 领取创立接口
detail 领取详情接口 update 领取详情接口
callback 领取回调接口 remove 领取回调接口
mkdir -p pay/api pay/rpc pay/model
$ tree mall                                                    
mall
├── common
├── go.mod
└── service
    ├── order
    │   ├── api
    │   ├── model
    │   └── rpc
    ├── pay
    │   ├── api
    │   ├── model
    │   └── rpc
    ├── product
    │   ├── api
    │   ├── model
    │   └── rpc
    └── user
        ├── api
        ├── model
        └── rpc

用户服务

产品服务

订单服务

领取服务

Auth 验证

服务监控

链路追踪

分布式事务

参考

https://github.com/zeromicro/go-zero/blob/master/readme-cn.md
https://learnku.com/articles/64566
退出移动版