go-zero教程——服务划分与项目创建

6,099 阅读2分钟

在正式创建项目之前,我们还需要重新梳理一下各服务之间的划分。

我将该项目命名为 foodguides

foodguides 项目下有两大块功能,用户管理 usermanage、食物管理 foodmanage

分析用户管理 usermanage

用户管理 usermanage 下同样也具有两大块服务,api 服务和 rpc 服务。

api 服务需要对外提供三个 api 接口。

  • login: 用户登录接口
  • register:用户注册接口
  • userinfo:用户信息接口

rpc 服务需要对外提供三个接口。

  • login: 用户登录接口
  • register:用户注册接口
  • userinfo:用户信息接口

虽然两块服务都提供能相同的功能,但是这里我们需要区分两块服务的服务对象,api 服务是对外的,比如我们这里是 app 调用了 api 服务。 rpc 服务是对内的,比如 api 服务调用了 rpc 服务。

  • 如果把 foodguides 比作一个餐厅的话,那 api 服务相当于是服务员,rpc 服务相当于是厨师。
  • 服务员是直接服务客人的,客人可以找服务员说我要一份沙茶面。( app 客户端调用了 api 服务 login 接口)
  • 厨师是服务于服务人员的,接到客人订单后告诉厨师要一份沙茶面。( api 服务 login 接口调用了 rpc 服务 login 接口)
  • 厨师做好沙茶面后交给服务员,服务员再给客人上菜。这样就完成了一次点餐服务。( rpc 服务 login 接口处理完数据后后响应 api 服务 login 接口, api 服务 login 接口响应 app 客户端的调用,登录成功)

这样就完成了一次服务的调用。

食物管理 foodmanage 也是同理。现有这一层的理解,对于新手来说能更好理清楚项目结构。

项目创建

Coding中创建一个项目,选择 DevOps 模板,命名 FoodGuides

file

FoodGuides 项目中,选择代码仓库,创建一个新的代码仓库,命名 FoodGuides

FoodGuides 项目中,选择制品管理——制品仓库,创建一个新的制品仓库,类型选择 Docker,仓库地址命名 dockerimages

file

FoodGuides 项目中,选择代码仓库,在仓库设置中复制 git 地址,clone 到本地。

cd 到在 FoodGuides

go mod init FoodGuides

FoodGuides 创建两个文件夹

mkdir -p usermanage & mkdir -p foodmanage

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

上一篇 《go-zero教程—— 工具下载与环境搭建》

下一篇 《go-zero教程——用户管理API Gateway》