RPC和MQ开源很多
一、Rabbit
Rabbit的模式包括, fanout, pub/sub, direct, topic, rpc等。
本质上是topic一种模式。 除开rpc,其他都是topic模式的子集。
Rpc看起来是包装了两个queue到一次调用中来,完成调用返回的传递。RPC还有一些要在即在使用时考虑:
How should the client react if there are no servers running?
Should a client have some kind of timeout for the RPC?
If the server malfunctions and raises an exception, should it be forwarded to the
client?
Protecting against invalid incoming messages (eg checking bounds) before processing.
二、MQTT
MQTT只支持pub/sub模式,就是rabbit的topic模式。(rabbit也有MQTT的拓展)
MQTT对传输的质量控制 概念,可以映射到rabbit对于queue的一些属性定义。
国内的公有云基本都支持MQTT。
三、公有云MQ
阿里的RPC和MQ:
RPC:开源Dubbo,也是他们的EDAS的基础。
MQ:MQ,Kafka,LMQ(即基于其MQ的MQTT)
阿里云做的竞品对比:
消息队列 MQ、MQ-Kafka、Apache Kafka、Apache RocketMQ、RabbitMQ 产品对比
https://help.aliyun.com/document_detail/52577.html?spm=5176.doc29532.6.540.DnQ8D2
==============================
其他一些RPC or MQ
CORBA
SOAP
Kafka
Thrift
AMQP (RabbitMQ, HornetQ )
MQTT(Mosquitto, VerneMQ, HiveMQ, CloudMQTT )
ZeroMQ (ZeroMQ, JeroMQ )
XMPP
STOMP
WAMP
JMS