这两种技术之间的一些主要区别是什么?一个比另一个有明显的优势吗?
3 回答
RV 就像一个广播电台,而 EMS 就像一部电话。
如果您想向镇上的每个人发送消息(例如今天的天气预报),那么收音机很好,因为一条消息同时发送给每个人。电话不好,因为打电话给每个人都需要很长时间,而且你需要支付 20c 的电话费。
如果您想告诉某人您的信用卡号码,您会使用电话,因为您可以确定您正在与正确的人交谈。收音机很糟糕,因为那时镇上的每个人都知道你的信用卡号码。
RV 使用可靠的多播协议,因此它支持快速高扇出消息传递功能,例如将股票报价发送到大量交易台(它最初的设计目的)。但权衡是安全性差和管理上的一些限制。跨多个 LAN 段或 WAN 的通信也有特殊考虑。
EMS 是一个 JMS 提供者,它以点对点的方式进行通信,就像电话一样。安全性更好,管理任务更容易。EMS 是基于服务器的(相对于 RV 的对等架构),因此存储和转发类型的活动比使用 RV 更容易。
您可以将两者混合搭配,以获得两全其美的效果。我认为更高版本的 EMS 具有主题的多播功能,但我没有使用过。
以上述答案为基础:
- 在寻找消息的持久性时使用 EMS。
- EMS 基于 JMS,而 RV 协议和 API 是专有的。
- EMS 是支持标准协议 (JMS)、TCP 的代理
- RV 专注于低延迟,例如 ZeroMQ 或 Akka
- 基于 TCP 的点对点或
- 通过 UDP 点对点或
- UDP组播
- 每台服务器许可
- 消息通过主题发送
- 支持带有通配符 (*) 段的主题,不需要特定的路由规则或显式订阅来接收来自新主题的数据
- Tibco 收购 29West 后,RV 似乎是从 29West 低延迟消息总线/代理演变而来的
对于低延迟消息传递(29West 和/或 Rendezous/RV)的任何粉丝,我建议查看 ZeroMQ(又名0MQ
)或 Akka。我从来没有在工作中将它投入生产,但我已经用0MQ
它快速构建了原型。他们的新服务器产品(2018 年新增)很有趣。
API 说明
- 在 RV 中,要创建一个新的/保证的唯一主题,请使用:
CreateInbox()