【问题标题】:Instant messaging vs Messaging service?即时消息与消息服务?
【发布时间】:2015-02-17 05:04:49
【问题描述】:

我正在阅读一些有关 SOA 的面向消息的中间件的信息。我不清楚的问题是即时消息和消息服务之间的区别。有人可以帮我理解这一点吗?

【问题讨论】:

  • SOA 的面向消息的中间件基本上是与语言无关的 XML 和 JSON。你的 SOAP/REST 服务器可以在 python 中,客户端可以在 java 中;两者都使用面向消息的中间件(如 JSON/XML)进行交谈。但是,即时通讯功能完全不同;其目的是使基于订阅的好友之间能够相互交谈(openfire/ejabbered)。在这个过程中也可以使用中间件服务。
  • 如果您想做即时通讯,请查看 eJabberD 开源项目。跨服务总线的即时消息只会增加太多开销。

标签: soa openfire middleware instant-messaging


【解决方案1】:

即时消息是人与人之间使用文本消息进行的交流。

消息服务是使用消息的机器之间的事件通信。这些消息通常包含有关需要以某种方式处理的事件的信息。消息服务通常会实现一些模式。

  • 发布/订阅 - 发布者向多个订阅者发送事件,这些订阅者可以决定他们想要订阅哪些事件。
  • 消息队列 - 消息被发送到用于在缓冲区中保存事件的队列。消息等待消费者消费消息并处理事件。这实现了系统之间的时间解耦以及工作负载平衡。

消息事件通常以某种机器可读格式保存数据,例如 XML、JSON、EDIFACT 等。

另一种看待它的方式:消息服务可用于构建即时消息软件。 XMPP 协议就是一个例子。

【讨论】:

  • 好的..感谢您的详细回复。我还有一个问题。可以说我需要来自服务器客户端的实时/即时更新。在这种情况下,消息服务会比即时消息慢吗?
  • 正如我所说 - 消息服务(有时)用于实现即时消息。像 IRC。不,没有什么限制消息传递速度慢。
  • 简单地说,IM 是消息服务的一个用例。
猜你喜欢
  • 2017-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 2017-02-21
  • 1970-01-01
相关资源
最近更新 更多