go-zero 实战 - 服务划分与项目创建

822 阅读2分钟

本文开始,我们会出一个系列文章跟大家详细展示一个 go-zero 微服务实例,整个系列分十三篇文章,目录结构如下:

  1. go-zero 实战 - 服务划分与项目创建
  2. go-zero 实战 - User API Gateway
  3. go-zero 实战 - User Login
  4. go-zero 实战 - User Register
  5. go-zero 实战 - User Userinfo
  6. go-zero 实战 - Food API Gateway
  7. go-zero 实战 - Food Search
  8. go-zero 实战 - Food AddFood
  9. go-zero 实战 - Food DeleteFood
  10. go-zero 实战 - Food Foodlist
  11. go-zero 实战进阶 - rpc 服务
  12. go-zero 实战进阶 - 用户管理 rpc 服务
  13. go-zero 实战进阶 - 食材管理 rpc 服务

期望通过本系列文章带你在本地利用 go-zero 快速开发一个《食谱指南》系统,让你快速上手微服务。

服务划分

一个《食谱指南》项目可划分为:用户管理服务(usermanage)和食物管理服务(foodmanage)

每个服务都可以再分为 api 服务和 rpc 服务。 api 服务对外,可提供给 App 调用。rpc 服务则是对内的,可提供给内部 api 服务或其他 rpc 服务调用。

注意:本系列教程前十篇文章中不涉及 rpc 服务,从第十一篇文章 go-zero 实战进阶 - rpc 服务 中,我们将加入了 rpc 服务介绍。

用户管理服务(usermanage)

api 服务端口:8888
login用户登录接口
register用户注册接口
userinfo用户信息接口

食物管理服务(foodmanage)

api 服务端口:8889
search食材搜索接口
addfood新增食材接口
deletefood删除食材接口
foodlist食材列表接口

项目创建

  • 创建 FoodGuides 工程
# 创建 golang 工程
$ mkdir -p desktop/FoodGuides && cd desktop/FoodGuides
# 创建 go module
$ go mod init FoodGuides
go: creating new go.mod: module FoodGuides
  • 创建 common 目录
$ mkdir common
  • 创建 service 目录
$ mkdir service && $ cd service
  • 创建 usermanage apiusermanage model 目录
$ mkdir -p usermanage/api
$ mkdir -p usermanage/model
  • 创建 foodmanage apifoodmanage model 目录
$ mkdir -p foodmanage/api
$ mkdir -p foodmanage/model
  • 最终 FoodGuides 项目目录
➜  FoodGuides:
$ tree
.
├── common           # 通用库
├── service          # 服务
│   ├── foodmanage
│   │   ├── api      # food api 服务
│   │   └── model    # food 数据模型
│   └── usermanage
│       ├── api      # user api 服务
│       └── model    # user 数据模型
└── go.mod

这样我们就初步完成了项目的创建。

下一篇《go-zero 实战 - User API Gateway》