学习笔记:带你十天轻松搞定 Go 微服务系列(二)
1、学习课程
带你十天轻松搞定 Go 微服务系列(二)
2、服务拆分
2.1 按业务服务拆分
- 用户服务(user)
- 订单服务(order)
- 产品服务(product)
- 支付服务(pay)
- 售后服务(afterSale)
- … …
2.2 按调用方式拆分
区别 | API 服务 | RPC 服务 |
---|
传输协议 | 基于 HTTP 协议 | 可以基于 HTTP 协议,也可以基于 TCP 协议 |
传输效率 | 如果是基于 http1.1 的协议,请求中会包含很多无用的内容,如果是基于 HTTP2.0,那么简单的封装下可以作为一个 RPC 来使用,这时标准的 RPC 框架更多的是服务治理。 | 使用自定义的 TCP 协议,可以让请求报文体积更小,或者使用 HTTP2 协议,也可以很好的减小报文体积,提高传输效率 |
性能消耗 | 大部分是基于 json 实现的,字节大小和序列化耗时都比 thrift 要更消耗性能 | 可以基于 thrift 实现高效的二进制传输 |
负载均衡 | 需要配置 Nginx、HAProxy 配置 | 基本自带了负载均衡策略 |
服务治理:(下游服务新增,重启,下线时如何不影响上游调用者) | 需要事先通知,如修改 NGINX 配置。 | 能做到自动通知,不影响上游 |
3、创建项目目录
3.1 在 code 中新建项目
3.2 创建 mall 工程
| $ mkdir mall && cd mall |
| $ go mod init mall |
3.3 创建 common 目录
3.4 创建 service 目录
| $ mkdir service && cd service |
3.5 创建 user api,user rpc,user model 目录
| $ mkdir -p user/api |
| $ mkdir -p user/rpc |
| $ mkdir -p user/model |
3.6 创建 product api,product rpc,product model 目录
| $ mkdir -p product/api |
| $ mkdir -p product/rpc |
| $ mkdir -p product/model |
3.7 创建 order api,order rpc,order model 目录
| $ mkdir -p order/api |
| $ mkdir -p order/rpc |
| $ mkdir -p order/model |
3.8 创建 pay api,pay rpc,pay model 目录
| $ mkdir -p pay/api |
| $ mkdir -p pay/rpc |
| $ mkdir -p pay/model |
3.9 最终项目目录
| ├── common |
| ├── service |
| │ ├── order |
| │ │ ├── api |
| │ │ ├── model |
| │ │ └── rpc |
| │ ├── pay |
| │ │ ├── api |
| │ │ ├── model |
| │ │ └── rpc |
| │ ├── product |
| │ │ ├── api |
| │ │ ├── model |
| │ │ └── rpc |
| │ └── user |
| │ ├── api |
| │ ├── model |
| │ └── rpc |
| └── go.mod |

4、系列
学习笔记:带你十天轻松搞定 Go 微服务系列(一)- 环境搭建
学习笔记:带你十天轻松搞定 Go 微服务系列(二)- 服务拆分
学习笔记:带你十天轻松搞定 Go 微服务系列(三)- 用户服务
学习笔记:带你十天轻松搞定 Go 微服务系列(四)- 产品服务
学习笔记:带你十天轻松搞定 Go 微服务系列(五)- 订单服务
学习笔记:带你十天轻松搞定 Go 微服务系列(六)- 支付服务
学习笔记:带你十天轻松搞定 Go 微服务系列(七)- RPC 服务 Auth 验证
学习笔记:带你十天轻松搞定 Go 微服务系列(八)- 服务监控
学习笔记:带你十天轻松搞定 Go 微服务系列(九)- 链路追踪
学习笔记:带你十天轻松搞定 Go 微服务系列大结局(十)- 分布式事务
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17548123.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步