我们使用ActiveMQ 5.2作为我们的选择实现,我们选择了一段时间。它的性能足以让我们现在使用。既然已经有一段时间了,我想知道还有哪些Java消息服务实现正在使用中,为什么?当然有不止几个。你使用哪种JMS实现?
回答
在最近的项目我是在我们使用Sonic MQ之一。良好的整体实施与良好的绑定到.NET。我们有一些可扩展性问题,但我不得不承认,可扩展性要求非常严格:如果我可以正确回忆起来,那么200个不同的客户端之间不会出现延迟,每秒20000次,同时收到每封邮件)。
我已经使用了JBossMQ,它与JBoss应用服务器一起提供到版本4,并且它是稳定但有限的。 JBoss Messaging是替代产品,随JBossAS 5一起提供,这是一个巨大的改进。
ActiveMQ我有一个真正的不喜欢。开发人员似乎已经失去了性能和功能而损害了稳定性,而且这是显而易见的错误。鉴于它是Geronimo的JMS结构,我担心。
我们的经验是,ActiveMQ的版本3和版本5明显优于4。 – 2008-09-23 21:08:19
...就bugginess而言,我打算打字。 – 2008-09-23 21:08:57
我们依靠通过骆驼框架AMQ(5.1),并且再也没有出现过任何问题。 AMQ 4有点鱼腥味。
TIBCO EMS。这是一个带有Java/JMS,C,.net和其他绑定的商业消息服务。
Sun的开源OpenMQ(https://mq.dev.java.net/)。你可以得到免费和付费的支持。
见本博客文章和ActiveMQ一番比较,等等 - http://alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/。
我听说OpenMQ更稳定。
ActiveMQ更加灵活。如在,你可以使用更多的语言。 ActiveMQ的邮件列表中可能比OpenMQ更多。
IBM的WebSphere MQ 5,6 主动MQ 5.2.0
此外,在http://codingjunky.com/page5/page4/page4.html退房微的QueueManager它体积小,易于安装和使用较小的项目。
使用WebLogic时的WebLogic JMS提供程序。很棒。
我们使用SonicMQ,JBossMQ和Lotus Expeditor Integrator的“微代理”。我们正在将它们用于不同的目的:
-JBossMQ在内部使用,并用于在我们运行在JBoss上的所有Java EE应用程序之间进行通信。 -Lotus Expeditor用于“远程站点”,我们只有有限的资源和IT人员 -SonicMQ是我们的消息传输骨干,我们使用它来连接中央系统,但也用于连接远程系统。 1000个网站。
我们对所有人都有很好的体验,但是我们的经验是,在更复杂的环境中,您必须对消息传递系统进行更积极的管理。 SonicMQ在我们的网站上尤其如此:-)。从性能角度来看,我们特别在基于队列的持久性消息传递方面取得了SonicMQ的最佳体验。
我已经在生产中使用了ActiveMQ几年,但我从不高兴它的稳定性(特别是它启用了集群)。切换到OpenMQ后切勿回头看看。你可能想看看RabbitMQ或ZeroMQ。
在深入研究JMS之前,还要考虑AMQP - 可能是一个新标准。 我与之合作的JMS提供商(不同程度上):
TIBCO EMS - 非常快速和健壮,良好的API支持,Java友好的本地C API存在。我用过的最佳商业选择。
Websphere MQ(及其JMS实现) - 如此,如此。 Pub/sub不是很快,许多配置选项和选项都是奇怪的,并且从该产品的悠久历史过于复杂。只要看看文件的数量...
慰藉JMS - 非常高的吞吐量(!JMS代理是内置的硬件),正在连接的协议很好的选择(MQTT,AMQP,XML通过HTTP协议管理员)
费奥拉诺MQ - 用于在市场营销侵略性,但失去了很大的市场份额,成熟涉及
索尼克MQ - 固体产品,还支持C API
主动MQ - 如果你想要去的开源产品(昂贵的支持,优秀的社区,有限的附加产品,有限的企业功能),这是概率bly你最好的选择。例如,开箱即用,并且是诸如Apache Camel等几种工具的主干。
- 1. JMS使用Scala实现队列实现
- 2. Eclipse使用哪种JPA实现?
- 3. 我应该使用哪种SSL实现?
- 4. JMS Wildfly实现
- 5. jms队列实现
- 6. 你会在哪一层使用asp.net TransactionScope实现交易?
- 7. 我应该使用哪种bitset实现以实现最佳性能?
- 8. 哪个JAXB实现使用?
- 9. 使用哪个int实现?
- 10. 我使用哪种UNIX实用程序?
- 11. 如何实现JMS MessageListener?
- 12. JMS消息传递实现
- 13. IBM MQ vs JMS - Spring实现
- 14. 我应该使用哪种IDE实现自动化工具?
- 15. 我应该使用哪种Erlang的OpenId实现?
- 16. JPA使用哪种实现类的集合
- 17. Java并发 - 使用哪种技术来实现安全?
- 18. 实现功能结构:使用哪种数据类型?
- 19. 基于WebSocket的通信使用哪种工具/实现?
- 20. 要使用REST API实现哪种设计模式?
- 21. 要使用哪种布局/视图/类来实现滑块?
- 22. 我应该使用哪种方法来实现此Storm拓扑?
- 23. 你建议采用哪种布局
- 24. 您使用哪种现代IDE R
- 25. 您推荐使用哪种宝石来实现这种自动化?
- 26. 在Spring应用程序中使用JNDI实现JMS
- 27. 哪个数据库实现哪种Java SQL类型?
- 28. 你如何决定使用哪种类型的数组?
- 29. 你建议使用哪种本地C++分析工具?
- 30. 你会使用哪种数据结构? (JAVA)
是否有任何可以扩展如此高的实现? – cdoe 2009-08-11 10:26:00
@Mani:由于我不是中间件开发团队的成员,因此我没有关于排队系统的确切配置或体系结构的详细信息,但是,我们最终达到了Sonic的吞吐量水平MQ。尽管如此,它花了几次迭代尝试不同的硬件和队列配置方案。 – 2009-08-11 16:31:35