微服务学习--micro和go-micro
-----------------
原文: https://www.cnblogs.com/DjanFey/p/12172810.html
微服务学习(三)--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框架模块
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、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2017-09-13 【转】php ob_start()、ob_end_flush和ob_end_clean()多级缓冲
2016-09-13 angularJS 系列(三)- 自定义 Service