我来自MoM的背景。我想我从概念上理解ESB。但是,在架构上做出选择时,我不太确定两者之间的实际差异。这是我想知道的1)任何可以在这方面帮助我的在线链接。2)谁能告诉我在哪里使用一个而不是另一个有意义。任何帮助都会很有用。 最佳答案 消息传递倾向于集中在网络周围的可靠消息交换;使用队列作为可靠的负载均衡器和主题来实现发布和订阅。ESB通常倾向于在消息传递之外添加不同的功能,例如编排、路由、转换和中介。我建议阅读EnterpriseIntegrationPatterns它概述了您将倾向于在基于消息总线之上的集成问题中使用的常见模式(尽
我一直在研究各种通信技术/架构/模式/实现(阅读:流行语),包括Web服务(WCF、Axis2)、ESB、SOA,并想了解有关消息传递方面的JMS的更多信息。从概念上讲,JMS听起来很简单。我的看法是,它是一个中间代理,它管理来自发布者的消息并将它们路由到适当的订阅者。这是通过在消息发布时将消息排队并在收到消息时将其出列来完成的。问题一:我对JMS的基本理解正确吗?在阅读有关技术的文章时,让我感到困扰的一件事是,当某项功能发生某种程度的(有意或无意的)挥手时。根据我的基本理解,必须运行JMS提供程序才能发送或接收消息。我对发布的假设是JMSProvider只是等待消息发布,然后将其存储
我一直在研究各种通信技术/架构/模式/实现(阅读:流行语),包括Web服务(WCF、Axis2)、ESB、SOA,并想了解有关消息传递方面的JMS的更多信息。从概念上讲,JMS听起来很简单。我的看法是,它是一个中间代理,它管理来自发布者的消息并将它们路由到适当的订阅者。这是通过在消息发布时将消息排队并在收到消息时将其出列来完成的。问题一:我对JMS的基本理解正确吗?在阅读有关技术的文章时,让我感到困扰的一件事是,当某项功能发生某种程度的(有意或无意的)挥手时。根据我的基本理解,必须运行JMS提供程序才能发送或接收消息。我对发布的假设是JMSProvider只是等待消息发布,然后将其存储
我正在支持需要低延迟(处理每条消息的时间小于300微秒)的Java消息传递应用程序。但是,我们的分析表明,SunJava虚拟机一开始运行缓慢,在前5,000条左右消息后加速。前5,000条消息的延迟为1-4毫秒。在大约前5,000条消息之后,后续消息的延迟约为250微秒,偶尔会出现异常值。通常认为这是Java应用程序的典型行为。但是,从业务的角度来看,告诉客户他们必须等待JVM“预热”才能看到他们需要的性能是NotAcceptable。在处理第一条客户消息之前,需要“预热”应用程序JVM是Sun1.6.0update4。克服这个问题的想法:JVM设置,如-XX:CompileThres
我正在支持需要低延迟(处理每条消息的时间小于300微秒)的Java消息传递应用程序。但是,我们的分析表明,SunJava虚拟机一开始运行缓慢,在前5,000条左右消息后加速。前5,000条消息的延迟为1-4毫秒。在大约前5,000条消息之后,后续消息的延迟约为250微秒,偶尔会出现异常值。通常认为这是Java应用程序的典型行为。但是,从业务的角度来看,告诉客户他们必须等待JVM“预热”才能看到他们需要的性能是NotAcceptable。在处理第一条客户消息之前,需要“预热”应用程序JVM是Sun1.6.0update4。克服这个问题的想法:JVM设置,如-XX:CompileThres
我是Messaging的新手,想知道ActiveMQ、Mule、ServiceMix和Camel之间的区别有人知道这些产品的不同之处吗?提前致谢!编辑:也想知道学习这些东西的好地方/资源。 最佳答案 ActiveMQ是一个消息代理,它实现了JMSAPI并支持numberofcrosslanguageclientsandnetworkprotocols.它允许您实现队列或主题并编写监听器或订阅者以响应队列事件。Mule和ServiceMix是开源ESB(企业服务总线)。ESB具有JMS之外的功能:排队是关键,但转换、路由、日志记录、安
我是Messaging的新手,想知道ActiveMQ、Mule、ServiceMix和Camel之间的区别有人知道这些产品的不同之处吗?提前致谢!编辑:也想知道学习这些东西的好地方/资源。 最佳答案 ActiveMQ是一个消息代理,它实现了JMSAPI并支持numberofcrosslanguageclientsandnetworkprotocols.它允许您实现队列或主题并编写监听器或订阅者以响应队列事件。Mule和ServiceMix是开源ESB(企业服务总线)。ESB具有JMS之外的功能:排队是关键,但转换、路由、日志记录、安
我刚看完RabbitMQ'sJavaAPIdocs,并发现它非常翔实和直截了当。如何设置简单的示例Channel用于发布/消费非常容易理解和理解。但这是一个非常简单/基本的例子,它给我留下了一个重要的问题:如何设置1+Channels向多个队列发布/消费?假设我有一个RabbitMQ服务器,上面有3个队列:logging,security_events和customer_orders.所以我们要么需要一个Channel能够发布/使用所有3个队列,或者更有可能拥有3个独立的Channels,每个专用于一个队列。最重要的是,RabbitMQ的最佳实践要求我们设置1Channel每个消费者线
我刚看完RabbitMQ'sJavaAPIdocs,并发现它非常翔实和直截了当。如何设置简单的示例Channel用于发布/消费非常容易理解和理解。但这是一个非常简单/基本的例子,它给我留下了一个重要的问题:如何设置1+Channels向多个队列发布/消费?假设我有一个RabbitMQ服务器,上面有3个队列:logging,security_events和customer_orders.所以我们要么需要一个Channel能够发布/使用所有3个队列,或者更有可能拥有3个独立的Channels,每个专用于一个队列。最重要的是,RabbitMQ的最佳实践要求我们设置1Channel每个消费者线
请注意,我希望多个消息监听器同时处理来自主题的连续消息。此外,我希望每个消息监听器都以事务方式操作,以便给定消息监听器中的处理失败会导致该监听器的消息保留在主题上。springDefaultMessageListenerContainer似乎只支持JMS队列的并发。我需要实例化多个DefaultMessageListenerContainers吗?如果时间沿着纵轴流动:ListenerAreadsmsg1ListenerBreadsmsg2ListenerCreadsmsg3ListenerAreadsmsg4ListenerBreadsmsg5ListenerCreadsmsg6Li