关于golang:学习笔记带你十天轻松搞定-Go-微服务系列二

2次阅读

共计 1260 个字符,预计需要花费 4 分钟才能阅读完成。

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

正文完
 0