Golang微服务框架-Mico

皮斯勒夫 · · 1960 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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:?


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:皮斯勒夫

查看原文:Golang微服务框架-Mico

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1960 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传