RPC and MQ

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

    原文作者:阳牧
    原文地址: https://zhuanlan.zhihu.com/p/28933997
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞