Micro是什么?
1. 用来构建和管理分布式程序的系统
2. Runtime(运行时): 用来管理配置、认证、网络等
3. Framework(程序开发框架): 用来方便编写微服务
4. Client(多语言客户端): 支持多语言访问服务端
Micro其中Runtime(运行时)介绍:
1. 它是工具集,工具名称“micro”
Micro其中Runt ime(运行时)组成:
api: api网关
broker: 允许异步信息的消息代理
new: 服务模板生成器
proxy: 建立在Go micro上的透明服务代理
registry: 一个服务资源管理器
store: 简单状态存储
web: Web仪表板允许您浏览服务
Micro其中Franmework(go-micro)介绍:
1. 它是对分布式系统的高度抽象
2. 提供分布式系统开发的核心库、
3. 可插拔的架构,按需使用(比如开发的时候用了一个中间件rabbitMQ,一旦程序要换成kafka,要改代码,会有很小的改动)
Micro其中Franmework(go-micro)组件:
1. 注册(Registry): 提供了服务发现的机制(Hash)
2. 选择器(Selector): 能够实现负载均衡
3. 传输(Transport)踹死破特: 服务与服务之间通信接口
4. Broker: 提供异步通信的消息发布、订阅接口
5. 编码(Codec): 消息传输到两端时进行编码和解码
6. 服务端(Server) 客户端(Client)
Micro其中Franmework(go-micro)通信图