使用 go-micro
开发的微服务电影院订票管理案例
目录结构:
- api - RESTful API 接口,使用
gin
框架 - movie - 电影管理服务
- proto -
grpc
协议文件目录 - projection - 电影票管理服务
- user - 用户管理服务
- 微服务框架: go-micro 微服务的基础框架
- 服务注册/发现:consul 分布式、高可用的服务注册/发现
- 消息中间件:kafka 发布/订阅、异步通知
- api网关:gin Api统一管理、鉴权
- JWT鉴权:jwt-go - JSON Web Token
- api文档:
swagger
api 文档 - rpc协议:grpc-go 服务间的通信协议
- 错误报告:sentry 警报系统
- 缓存:
redis
缓存客户端使用go-redis - DB:
Mongodb
客户端使用mongo-go-driver - 部署:docker-compose 部署
clone
项目
git clone https://github.com/zengxianxue/cinema.git
- 安装依赖包
cd cinema
GO111MODULE=on go mod tidy
- build
目前只有user
和API
两个模块
make build
- compose 启动
docker-compose up
- 测试
curl -X POST -d "username=test&password=123456" http://localhost:8080/api/v1/user/registry
输出: {"code":0,"message":"success"}
还在开发中... 欢迎 PR,喜欢加个星星哦,>_<