go-zero官网:
https://go-zero.dev/docs/tasks
好文:
https://blog.csdn.net/m0_63629756/article/details/136599547
视频:
https://www.bilibili.com/video/BV18JxUeyECg
微服务基础
- 根目录下,一个文件夹就是一个微服务。如果微服务太多,可以在根目录下创建apps文件夹,将所有微服务放到apps里。
- 一个微服务可能包含api服务和rpc服务。api服务用于提供RESTful风格接口,对外提供应用;rpc服务用于内部服务间的通信。
- 服务拆分方式:
- 基于DDD思想拆分
- 垂直功能拆分:按照职能部门、业务功能进行拆分
etcd
- 用于微服务的配置中心和服务发现。
- 数据可靠性比redis更好。
- value只能是字符串。
- go-zero本身没有服务发现的工具,自己测试时可以IP直连。
go-zero
项目结构
- internal是内部文件夹,无法被外部模块访问;pkg可以被外部模块访问。
- 项目结构:https://go-zero.dev/docs/concepts/layout
- handler:http服务的路由管理
- svc:servicecontext,依赖管理,logic里的依赖要在svc里显示注入
- logic:业务目录