一、區別
A、go-micro:微服務開發庫
B、Micro:基於Go-micro開發的運行時工具集
二、Micro工具集組件
A、API:將http請求轉向內部應用
1、API:將http請求映射到API接口
2、RPC:將http請求映射到RPC服務
3、event:將http請求廣播到訂閱者
4、proxy:反向代理
5、web:支持websocket反向代理
B、Web:web反向代理與管理控制
C、Proxy:代理風格的請求,支持異構系統只需要瘦客戶端便可調用Micro服務
1. 注意:與Micro API不同,Proxy只處理micro風格的RPC請求,而非http請求
D、Cli:以命令行操控Micro服務
E、Bot:與常見的通信軟件對接,負責傳遞消息,遠程指令操作
三、Go-micro框架模塊
A、service:具體實例化的服務,包含兩個重要組件:Client、Server
Client:發送RPC請求與廣播消息
Server: 接收RPC請求與消費消息
B、Broker:異步通信組件
C、Codec:數據編碼組件
D、Registry:服務注冊組件
E、Selector:客戶端均衡器
F、Transport:同步通信組件
四、Broker異步消息組件
A、Subscribe:注冊關心的主題(Topic),指定隊列(queue)發送消息
B、Publish:異步將消息推送到主題(Topic)
C、Encoding:編碼消息(默認JSON格式)
五、Registry注冊組件
A、注冊類型
1. 基於通用型注冊中心,如Etcd、Consul、Zookeeper、Eureka
2. 基於網絡廣播,如mDNS、Gossip
3. 基於消息中間件,如NATS
六、selector選擇器組件
A、目前支持兩種算法:隨機和輪詢
七、Transport同步請求組件
A、