产品对比

最近更新时间:2019-05-27 13:18:53

消息队列 CKafka 与其他消息服务产品的性能对比详情如下:

特性 CKafka Apache Kafka RabbitMQ RocketMQ CMQ
优点 吞吐量非常大;
扩展性非常灵活;
运维成本极低
吞吐量大 可靠性高 可靠性高 可靠性非常高;
金融等强一致性场景
缺点 极端情况可能丢失消息 可能丢失消息;
扩展性不够灵活;
依赖组件多,运维量大;
安全防护功能有限,隔离和兼容性差
性能较差
扩展不灵活
HA 切换需要手动支持,不能自动化 为保证强一致性,吞吐量一般
开发语言 Scala Scala Erlang Java C++
可扩展性 非常灵活、易于扩展,发送消息只需指明 VIP 地址,Broker 的变化对于收发消息都透明 不够灵活,发送消息需指明 Broker 地址,接收消息需 ZooKeeper 协调调度 不够灵活,发送消息需要指明 Broker 地址 较灵活,发送方、接收方和 Name Server 连接 灵活、平滑、水平扩展,逻辑上单个 Queue可跨多个集群提供服务
吞吐量 非常大 较大 一般 一般 一般
常规性能 百万级QPS 百万级QPS 十万级QPS 十万级QPS 十万级QPS
2C 4GB压测 读写22万QPS 读写20万QPS 读写10万QPS 读写10万QPS 读写12万QPS
同步算法 ISR(Replica) ISR(Replica) GM 同步双写 Raft
可用性 可用性很高,主从自动切换,腾讯云消息服务承诺可用性99.95% 可用性高,主从自动切换,但由于异步刷盘和复制,切换后可能会丢消息 主备自动切换,用 mirror queue 支持m/s,master 提供服务,slave 仅备份 不支持主从自动切换,master 不可用时 slave 只读不写 可用性很高,Broker 中存在2节点即可提供高可用服务
消费方式 拉取方式 拉取方式 拉取和推送方式 拉取和推送方式 拉取和推送方式
消息可靠性 可靠性较高;
可通过三副本方式提升可靠性,集群容灾性能好,故障情况极少发生
可靠性低;
Broker 只有异步刷盘机制并主备只有异步复制,可能会导致丢失部分消息
可靠性高;
发送消息时,指定消息为持久化就会写入到磁盘
可靠性高;
Broker 同步双写,主备都写成功才返回成功
可靠性极高;
保证消息不丢失同步刷盘,数据持久性99.999999%
数据校验 CRC CRC CRC Checksum
消息回溯 支持 支持 不支持 不支持 支持
安全防护 支持 不支持 不支持 不支持 支持
监控告警 支持 不支持 不支持 不支持 支持
服务支持 支持 不支持 不支持 不支持 支持

说明:

“2C 4GB压测”表示在2核 CPU 4GB内存服务器上压测的结果。