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

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

我将该项目命名为 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

1
go复制代码go mod init FoodGuides

在 FoodGuides 创建两个文件夹

1
go复制代码mkdir -p usermanage & mkdir -p foodmanage

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

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

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

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%