学习笔记:带你十天轻松完成 Go 微服务系列(二)- 服务拆分

101 篇文章 5 订阅
34 篇文章 3 订阅

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 中新建项目

$ cd gonivinck/code/ 

3.2 创建 mall 工程

$ mkdir mall && cd mall
$ go mod init mall

3.3 创建 common 目录

$ mkdir 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      # order api 服务
│   │   ├── model    # order 数据模型
│   │   └── rpc      # order rpc 服务
│   ├── pay
│   │   ├── api      # pay api 服务
│   │   ├── model    # pay 数据模型
│   │   └── rpc      # pay rpc 服务
│   ├── product
│   │   ├── api      # product api 服务
│   │   ├── model    # product 数据模型
│   │   └── rpc      # product rpc 服务
│   └── user
│       ├── api      # user api 服务
│       ├── model    # user 数据模型
│       └── rpc      # user rpc 服务
└── go.mod

在这里插入图片描述

4、系列

学习笔记:带你十天轻松搞定 Go 微服务系列(一)- 环境搭建
学习笔记:带你十天轻松搞定 Go 微服务系列(二)- 服务拆分
学习笔记:带你十天轻松搞定 Go 微服务系列(三)- 用户服务
学习笔记:带你十天轻松搞定 Go 微服务系列(四)- 产品服务
学习笔记:带你十天轻松搞定 Go 微服务系列(五)- 订单服务
学习笔记:带你十天轻松搞定 Go 微服务系列(六)- 支付服务
学习笔记:带你十天轻松搞定 Go 微服务系列(七)- RPC 服务 Auth 验证
学习笔记:带你十天轻松搞定 Go 微服务系列(八)- 服务监控
学习笔记:带你十天轻松搞定 Go 微服务系列(九)- 链路追踪
学习笔记:带你十天轻松搞定 Go 微服务系列大结局(十)- 分布式事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳舞的皮埃尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值