商业消息中间件与开源的优势

Posted

技术标签:

【中文标题】商业消息中间件与开源的优势【英文标题】:Benefits of Commercial Messaging Middleware vs Open Source 【发布时间】:2010-12-02 03:28:16 【问题描述】:

我一直在评估几种开源消息队列技术,例如 RabbitMQ、ActiveMQ、OpenAMQ 等。我的问题是,使用 Tibco EMS、WebSphereMQ、Sonic 等商业技术可以获得什么好处,而不是像 Active 或 Rabbit 之类的东西? php 将是主要涉及的语言,尽管 Java 系统也会进行交互。

【问题讨论】:

【参考方案1】:

如果您使用商业产品,它会附带所有东西(只是我们有 使用),但所有开源产品都将具有基本功能,但 我们仍然可以实现商业产品功能(涉及很多 发展)

【讨论】:

【参考方案2】:

我认为在选择消息传递系统之前,最好彻底检查您的要求:

例如,并非所有商业供应商都支持 PHP。 ActiveMQ 和 RabbitMQ 会。 并非所有消息传递系统都可以支持非常大的队列大小 - 尽管 ActiveMQ 支持 并非所有消息传递系统都能在代理硬停止后不丢失 ActiveMQ 将丢失的消息 - 您不必使用事务。

如果您要使用开源 - 始终关注社区 - ActiveMQ 是所有开源消息供应商中最活跃的社区 - 而且它也是 Apache - 这意味着多样性并且不依赖任何单一的开发人员或供应商交货。

【讨论】:

【参考方案3】:

我发现最大的不同是运营支持和管理。商业供应商通常会为操作/支持人员提供更好的工具来重新提交、编辑消息等。

这通常是开源产品的一个弱点,如果得到纠正,应该会导致商业供应商严重缺乏睡眠。

【讨论】:

【参考方案4】:

那些商业技术很好,但对它们的投资可能很高。做出决定时必须考虑年度许可成本和持续支持成本。就供应商锁定而言,在商业世界中,只有一家供应商为特定产品提供支持。在开源世界中,通常有不止一个供应商提供支持。以 ActiveMQ 为例。 Progress Software 和 SpringSource 都为 ActiveMQ 以及其他一些协议提供支持。

此外,在商业世界中,您永远无法亲自查看源代码。对于像 ActiveMQ 这样的产品,任何人都可以获取源代码。这非常强大,因为这意味着您可以添加功能等,并且很可能将它们添加到产品中。

ActiveMQ 有一个很棒的社区,并且部署非常广泛。 ActiveMQ 为多种语言提供客户端 API,包括 C/C++、Java、.NET、Perl、PHP、Python、Ruby 等。

布鲁斯

【讨论】:

【参考方案5】:

我会说好处很少而且相差甚远。在投资之前,您确实需要确保商业系统适合您,因为可能没有回头路。

其中一些东西是如此深奥,如此容易被供应商锁定,如此该死的重量级以至于你会觉得你的背上有一只大猩猩,而不仅仅是一只猴子;)

【讨论】:

【参考方案6】:

围绕 RabbitMQ 等项目有很多很棒的社区(例如,查看邮件列表)。此外,如果成本是一个问题,那么开源显然是一个胜利。

【讨论】:

+1 RabbitMQ 是一款真正优秀的软件,强烈推荐。 “以 ActiveMQ 为例。Progress Software 和 SpringSource 都为 ActiveMQ 提供支持协议”——如果对开源软件的支持最终成为相同的成本,那么为什么不是基于供应商的商业产品呢?

以上是关于商业消息中间件与开源的优势的主要内容,如果未能解决你的问题,请参考以下文章

阿里巴巴中间件团队出品的开源软件以及商业云服务(转)

基于消息队列 RocketMQ 的大型分布式应用上云实践

开源消息中间件Kafka在华泰证券的探索与实践

基于消息队列 RocketMQ 的大型分布式应用上云最佳实践

基于消息队列 RocketMQ 的大型分布式应用上云最佳实践

主流开源消息队列对比与分析