微服务学习(三)--micro和go-micro

一、区别

  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框架模块

  微服务学习(三)--micro和go-micro_第1张图片

  A、service:具体实例化的服务,包含两个重要组件:Client、Server

    Client:发送RPC请求与广播消息

    Server: 接收RPC请求与消费消息

  B、Broker:异步通信组件

  C、Codec:数据编码组件

  D、Registry:服务注册组件

  E、Selector:客户端均衡器

  F、Transport:同步通信组件

四、Broker异步消息组件

  微服务学习(三)--micro和go-micro_第2张图片

  A、Subscribe:注册关心的主题(Topic),指定队列(queue)发送消息

  B、Publish:异步将消息推送到主题(Topic)

  C、Encoding:编码消息(默认JSON格式)

五、Registry注册组件

  微服务学习(三)--micro和go-micro_第3张图片

 

  A、注册类型

    1. 基于通用型注册中心,如Etcd、Consul、Zookeeper、Eureka

    2. 基于网络广播,如mDNS、Gossip

    3. 基于消息中间件,如NATS

六、selector选择器组件

  微服务学习(三)--micro和go-micro_第4张图片

 

  A、目前支持两种算法:随机和轮询

七、Transport同步请求组件

  A、微服务学习(三)--micro和go-micro_第5张图片

 

  

 

 

 

  

你可能感兴趣的:(微服务学习(三)--micro和go-micro)