为什么选择RocketMQ

为什么选择RocketMQ

为什么选择RocketMQ为什么 RocketMQ​在阿里孕育 RocketMQ 的雏形时期,我们将其用于异步通信、搜索、社交网络活动流、数据管道,贸易流程中。随着我们的贸易业务吞吐量的上升,源自我们的消息传递集群的压力也变得紧迫。

根据我们的研究,随着队列和虚拟主题使用的增加,ActiveMQ IO模块达到了一个瓶颈。我们尽力通过节流、断路器或降级来解决这个问题,但效果并不理想。于是我们尝试了流行的消息传递解决方案Kafka。不幸的是,Kafka不能满足我们的要求,其尤其表现在低延迟和高可靠性方面,详见下文。在这种情况下,我们决定发明一个新的消息传递引擎来处理更广泛的消息用例,覆盖从传统的pub/sub场景到高容量的实时零误差的交易系统。

Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。

提示下表显示了RocketMQ、ActiveMQ和Kafka之间的比较

RocketMQ vs. ActiveMQ vs. Kafka​Messaging ProductClient SDKProtocol and SpecificationOrdered MessageScheduled MessageBatched MessageBroadCast MessageMessage FilterServer Triggered RedeliveryMessage StorageMessage RetroactiveMessage PriorityHigh Availability and FailoverMessage TrackConfigurationManagement and Operation ToolsActiveMQJava, .NET, C++ etc.Push model, support OpenWire, STOMP, AMQP, MQTT, JMSExclusive Consumer or Exclusive Queues can ensure orderingSupportedNot SupportedSupportedSupportedNot SupportedSupports very fast persistence using JDBC along with a high performance journal,such as levelDB, kahaDBSupportedSupportedSupported, depending on storage,if using levelDB it requires a ZooKeeper serverNot SupportedThe default configuration is low level, user need to optimize the configuration parametersSupportedKafkaJava, Scala etc.Pull model, support TCPEnsure ordering of messages within a partitionNot SupportedSupported, with async producerNot SupportedSupported, you can use Kafka Streams to filter messagesNot SupportedHigh performance file storageSupported offset indicateNot SupportedSupported, requires a ZooKeeper serverNot SupportedKafka uses key-value pairs format for configuration. These values can be supplied either from a file or programmatically.Supported, use terminal command to expose core metricsRocketMQJava, C++, GoPull model, support TCP, JMS, OpenMessagingEnsure strict ordering of messages,and can scale out gracefullySupportedSupported, with sync mode to avoid message lossSupportedSupported, property filter expressions based on SQL92SupportedHigh performance and low latency file storageSupported timestamp and offset two indicatesNot SupportedSupported, Master-Slave model, without another kitSupportedWork out of box,user only need to pay attention to a few configurationsSupported, rich web and terminal command to expose core metrics

相关文章

华夏信用卡临时额度期限是多久
365bet.com游戏奖金

华夏信用卡临时额度期限是多久

🕒 07-08 👁️ 3158
魔兽世界怀旧服DKT上手指南天赋加点推荐
365bet手机开户

魔兽世界怀旧服DKT上手指南天赋加点推荐

🕒 01-20 👁️ 4473
云仕耳机在国内排行 云仕耳机属什么档次?
365bet网站哪个是真的

云仕耳机在国内排行 云仕耳机属什么档次?

🕒 09-09 👁️ 8067
开奶茶店成本与利润分析(详细利润计算)
365bet.com游戏奖金

开奶茶店成本与利润分析(详细利润计算)

🕒 08-31 👁️ 6480
飞机票价格为什么每天不一样?飞机票越晚订越便宜吗?
365bet网站哪个是真的

飞机票价格为什么每天不一样?飞机票越晚订越便宜吗?

🕒 11-04 👁️ 8728
月球为什么不直接围绕太阳公转?这里告诉你原因
365bet.com游戏奖金

月球为什么不直接围绕太阳公转?这里告诉你原因

🕒 09-16 👁️ 8678