- 无需注册中心
- 基于json传输报文
- 支持广播调用和单个调用
- 消费方可以不依赖提供方jar
- 消费方和提供方网络可隔离
- 提供方不要求必须实现接口
一般用于指令透传(物联网领域),一个局域网内的服务想访问另外一个局域网内的客户端程序(两者网络不通也无法通过dubbo进行rpc),此时客户端程序无公网IP,无法通过http协议发送指令,rpc-mqtt便可用于此场景。
首先你需要一个mqtt broker, 代码可参考rpc-mqtt-demo;
可以基于mqtt broker的发布-订阅模式,做服务治理的工作;
- 比如消费方订阅管理配置的topic比如'rpc/mqtt/req/config',可以往该topic发送指定某个服务下线的payload,消费方接受到服务下线payload后,将不在调用该服务。
- 在比如还可以在该topic动态发布服务提供方的权重的payload,服务消费方接受到payload,解析得到服务提供方的权重,调用服务的时候根据权重做调用。