1 Star 2 Fork 3

小北2022 / go_zero_project

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
project_code.md 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
小北2022 提交于 2022-03-04 20:11 . code read

code阅读

user服务为例

API

api/user.go为程序入口,主要功能有:

  • api/etc/user.yaml读取配置项(Mysql & CacheRedis & Auth & UserRpc)
  • 注册rpc & restfl服务

api子目录:

  • etc:配置文件
  • internal:网络服务
    • config:配置项-结构体
    • handler:路由
      • routes.go 路由注册,权限校验采用JWT
    • logic:逻辑处理
      • loginlogic.go 登录时生成JWT
    • svc:网络环境:返回 RPC 客户端-结构体
    • types:数据定义-结构体

model

提供数据的CRUD功能

RPC

rpc/user.go为服务启动入口,主要功能有:

  • api/etc/user.yaml读取配置项(Etcd & Mysql & CacheRedis & Salt)
  • 注册数据服务(mysql & redis)、RPC服务

rpc子目录

  • etc:配置
  • internal :数据服务
    • config:配置项:rpc、mysql、redis、盐
    • logic:用户服务逻辑:调用model方法增删改查,并校验返回
    • server:服务端方法的封装
    • svc:存储服务封装
  • user:grpc自动生成代码
    • user.pb.go:pb数据处理
    • user_grpc.pb.go:客户端请求、服务端接口及注册方法
  • userclientrpc客户端,通过user/user_grpc.pb.go方法调用rpc服务
Go
1
https://gitee.com/xiaobei-2022/go_zero_project.git
git@gitee.com:xiaobei-2022/go_zero_project.git
xiaobei-2022
go_zero_project
go_zero_project
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891