Micro 学习笔记

Micro 是一个开源的微服务生态系统。目标是简化分布式系统开发,它提供了用于服务发现,客户端负载平衡,编码,同步和异步通信库。

架构

Micro 主要由 Go-Micro微服务工具包 两个部分构成。

Micro 学习笔记_第1张图片
architecture.png


Go-Micro

Go-Micro 是 Micro 的核心,是一个独立的基于 gRPC 的微服务框架。


Micro 学习笔记_第2张图片
Go-micro.png

Client

Client 提供了一种发出 RPC 请求的方法。它还提供重试,超时,使用上下文等。

Server

Server 是构建正在运行的微服务的接口。它提供了一种接收 RPC 请求的方法。

Registry

Registry 是一个插件式的服务发现库,来查找正在运行的服务。可以选择基于 consul,etcd,内存和 kubernetes。

Selector

Selector 通过选择提供负载均衡机制。当 Client 向 Server 发出请求时,它将首先查询 Registry。这通常会返回一个表示服务的正在运行的节点列表。选择器将选择这些节点中的一个用于接收请求。多次调用 Selector 将触发平衡算法(循环法,随机哈希,黑名单)

Broker

Broker 是提供发布/订阅时间功能的插件。目前的实现包括nats,rabbitmq 和 http(用于开发)。

Transport

传输是通过点对点传输消息的插件。


微服务工具包

工具包的工具都是插件式的,作为辅助微服务开发的补充。

API

API网关是微服务的单一入口,可以用作反向代理和将 HTTP 请求转换为 RPC。


Micro 学习笔记_第3张图片
API.png

Web UI

用于Micro Web应用程序的仪表板和反向代理。


Micro 学习笔记_第4张图片
Web.png

Sidecar

一种对语言透明的RPC代理,提供了一种将其他语言应用程序集成到 Micro 世界的方法。


Micro 学习笔记_第5张图片
Sidecar.png

Bot

Hubot 风格的 bot,位于您的微服务平台中,可以通过 Slack,HipChat,XMPP等进行交互。它通过消息传递提供 CLI 的功能。可以添加其他命令来自动执行常见的操作任务。


Micro 学习笔记_第6张图片
Bot.png

CLI

一个直接的命令行界面来与你的微服务进行交互。它还使您可以利用 Sidecar 作为代理,从而不直接连接到服务注册表。

你可能感兴趣的:(Micro 学习笔记)