2010-10-20 22 views
9

我一直在试图弄清楚什么是面向消息的中间件,但是一直没能找到任何对我来说很有意义的非企业实例。任何人都可以给我一个关于MOM是什么的清晰和容易理解的解释,以及可能的一些关于它如何在企业外使用的简单例子?什么是面向消息的中间件?

+0

哪来的节目内容? – 2010-10-20 07:12:49

+3

据我所知,SO有很多非编程问题。 X最好的书是什么? Y的用例是什么?例如,你发布的这个问题没有明确的编程内容(http://stackoverflow.com/questions/165985/resources-to-create-applications-with-a-great-user-experience)。我没有看到这些问题和我自己的区别。我无法弄清楚MOM是什么以及它用于什么。这显然是程序员感兴趣的技术,所以我认为它非常适合SO的主题。 – jammur 2010-10-20 08:23:39

+0

虽然SO在这些问题上更加宽松,但随着网站的堆栈交换系列不断增长,它在脱离主题执行方面变得更加僵化。现在,许多盛大的问题将被关闭为脱离主题。请记住,programmers.stackexchange.com可用于非编程,但可用于相关讨论。至于这个问题,在我的(可能是错误的,但可能是)判断中,它是可以回答的和关于主题的。 – Will 2010-10-20 11:46:23

回答

3

面向消息的中间件是一种基础设施,它使用消息交换,而不是函数调用/共享存储器。这是一个设计原则,因此可以在任何地方使用。它可能在异构/高可用性/高性能系统中最为有用。

0

使用MOM消息被发送到客户端收集和存储直到他们采取行动,而客户端继续其它过程。

2

正如我刚才已经回答有点类似的问题 - 我想回答你,但与一些额外的专业术语,到底要澄清的是在实际的方式是什么MOM。这里有一些组件的几个简单的英语定义(如你挖成MOM越多,这些条款将一次又一次最终会 - 也问题被标记rabbitmq):

  • MOM - 是一种方法,分布式系统的体系结构,即整个分布式系统的中间层,其中有很多内部通信(一个组件正在查询数据,然后需要将它发送给另一个组件,这将对数据进行一些处理),所以组件必须共享其中的信息/数据。
  • 消息代理 - 是任何系统(在MOM)带把手的消息,或者是其中路由消息更精确到特定消费者/接受者。 Message Broker通常建立在MOM之上。 MOM提供应用程序之间的基础通信,以及诸如消息持久性和有保证的交付之类的内容。 “消息代理是面向消息中间件的基石。”
  • 的RabbitMQ - 一个消息代理; MOM实施; AMQP的开源实现;按照百科:

    RabbitMQ的是一个开源消息代理软件(有时称为 面向消息的中间件)实现高级消息 队列协议(AMQP)。

我刚才提到的RabbitMQ这里,进一步明确MOM,在某种程度上,这已经在我们身边使用。


面向消息的中间件 - 是一种方法,即,对于整个分布式系统中,其中有很多内部通信的这样的部件必须共享它们之间的信息/数据的中间层为分布式系统中的体系结构,例如 - 一个组件正在查询数据,然后需要将其发送到另一个组件,这将对数据进行一些处理。简而言之,它是设计系统的一种方式,是的,这取决于整体要求,即我们将开发一个分布式系统,并进行一些内部通信。 MOM体系结构/决策的最大优势是组件的解耦,即如果我们要更改数据查询组件,它将不会影响数据处理组件,因为它们通过MOM(例如Rabbitmq Cluster)进行通信 - 数据处理组件正在获取表单消息中的数据。

MOM最终只是一个设计决定,我们使用中间件粘贴我们的系统(分布式)组件,这是一个处理它们之间通信的中间件,以消息的形式(即JSON)。


一个更相关的SO问题和答案 - Message broker vs. MOM (Message-Oriented Middleware)

相关问题