目录

文章目录

Go Micro

Golang 编程 — Go Micro 微服务框架_服务发现

Go Micro 是一个可插拔的 RPC 框架,提供了以下功能:

  • 服务发现:程序自动注册到服务发现系统。
  • 负载均衡:它提供了客户端负载均衡。
  • 同步通信:提供 Request/Response Transport。
  • 异步通信:具有内置的发布和订阅功能。
  • 消息编码:可以利用 header 中 Content-Type 进行编码和解码
  • RPC 客户端/服务器端:利用上述功能并提供构建微服务需要的接口。

Go Micro 架构由三层组成:

  1. 服务层。
  2. C/S 模型层:Serrver 用于编写服务的块组成;而 Client 为我们提供接口,向 Server Model 中编写的服务发出请求。
  3. 第三层有以下类型的插件:
  • Broker:在异步通信中为 Message Broker(消息代理)提供接口。
  • Codec:用于加密或解密消息。
  • Registry:提供服务搜索功能。
  • Selector:在 Register 上构建了负载均衡。
  • Transport:是服务与服务之间进行同步 Request/Response 的通信接口。

它还提供了一个名为 Sidecar(边车)的功能。Sidecar 能够集成以 Golang 以外的语言编写的服务。它还为我们提供了 gRPC 编码/解码、服务注册和 HTTP 请求处理。