Micro
Micro 是用来构建和管理分布式程序的系统,组成如下:
Runtime(运行时):用来管理配置、认证、网络等。
Framework(程序开发框架):用来编写微服务。
Clients(多语言客户端)支持多语音访问服务端。
Runtime
Runtime(运行时)是工具集,组成:
- api:api 网关,把微服务组合起来,形成单一的入口方便调用。
- broker:允许处理异步消息的代理。
- network:通过微网络服务构建多云网络。
- new:服务模板生成器。
- proxy:建立在 Go Micro 上的透明服务代理。
- registry:一个服务资源管理器,通过注册的方式提供服务发现以及查找服务。
- store:简单的状态存储。
- web:Web 仪表盘,通过 Web 仪表盘的方式浏览服务。
Framework(go-micro)
go-micro 是 Micro 的一种 Framework,是对分布式系统的高度抽象、提供分布式系统开发的核心库、可插拔的架构,按需使用。组件如下:
- 注册(Registry):提供了服务发现机制。
- 选择器(Selector):能够实现负载均衡。
- 传输(Transport):服务和服务之间的通信。
- Broker:提供异步消息的消息发布/订阅接口。
- 编码(Codec):消息传输的编码与解码。
- Server、Client:服务的提供者和使用者。
go-micro 的通信如下:
- Server 通过 Registry 将服务注册到服务注册中心,Client 通过 Selector 从服务注册中心进行服务发现。
- Client 通过 Broker 发布消息到消息中间件中,Server 通过 Broker 从消息中间件中读取订阅消息。