Mico是一个工具集合,通过将微服务架构抽象成一组工具。隐藏了分布式系统的复杂性。为开发人员提供更简洁的概念。
Mico主要由三部分组成:
go-mico:开发SDK,包含了RPC框架,服务发现、消息订阅/发布等功能。
go-plugins:mico插件。
mico:Mico提供的管理工具,包含了API网关,仪表盘,RPC代理等功能。
go-mico:
services:微服务,提供了对微服务功能开发的封装,可以快速创建一个微服务。
client:RPC客户端,提供了诸如 服务发现/负载均衡/RPC代理和调用,以及失败时的重试/超时/上下文等功能。
server:RPC服务端,提供了如何实现RPC请求的方法,功能逻辑主要使用这个实现。
codec:数据编码模块,提供将程序调用数据转换成RPC调用数据的功能,目前支持:json/protobuf
broker:pub/sub模块,提供数据订阅/发布功能,目前支持:nats/rabbitmq/http。
transport:数据传输模块,通过抽象实现对传输协议的无缝替换。目前支持:http/rabitmq/nats。
regediry:服务发现模块,提供集群的服务发现功能,目前支持:consul/etcd/memory/kubernetes
selector:负载均衡模块,当client发出请求时,它负责在多个满足条件的服务器列表中决定使用哪个服务器,目前支持:循环/哈希/黑名单。
micro工具:
api:API网关,将HTTP请求转换为RPC并转发给相应的服务。
web:默认管理界面,以http方式提供对server服务的代理。
new:生成模版代码,帮助你快速创建项目。
cli:可通过命令行来和micro交互。
bot:?
proxy:?
有疑问加站长微信联系(非本文作者)