消息队列Kafka性能、优势、特点介绍

消息队列Kafka完全兼容原生Kafka队列,业务可实现零改动迁移。

功能项 是否支持 备注
多协议支持 只支持Kafka自定义协议  
跨语言支持 采用Scala编写
支持多种语言的客户端。
 
消费模式 客户端主动拉取  
广播消费 支持  
消息回溯 支持 支持按照offset和timestamp两种维度进行消息回溯。
消息堆积 支持  
消息追踪 不支持  
消息顺序性 支持 支持单分区(partition)级别的顺序性。
消息过滤 支持 根据消息标签对消费的消息过滤
事务性消息 支持 针对发送端、消费端都能进行消息的二次确认操作
优先级队列 不支持  
延迟队列 不支持 消费者可以决定将暂不消费的消息重新投递到队列中延后再消费
死信队列 不支持 将无法成功处理的消息存放于死信队列,统一分析处理
重试队列 不支持  
持久化 支持  
幂等性 支持 支持单个生产者单分区单会话的幂等性。

消息队列Kafka优势

即开即用

快速部署,易于管理。消息队列Kafka是一项全托管服务,完全兼容开源ApacheKafka,无需部署维护软硬件设施,用户分钟级即可成功创建出Kafka阿里云。

高可用

支持多副本机制,通过多副本机制实现故障自动转移,部分Broker节点失效时仍然保证服务可用。

高并发

支持每秒百万级别的吞吐量和数千个客户端同时读写。

弹性扩容

轻松扩展,方便快捷。用户可根据资源使用情况按需扩容,不影响现有业务的同时以满足业务增长需求。

安全性

资源独享,安全可控。部署在逻辑隔离的用户VPC内,杜绝了外网直连风险,保障了用户资源的安全。

消息队列Kafka应用场景

日志处理
消息队列Kafka的高吞吐和持久化特性决定它非常适合作为日志收集中心。消息队列Kafka版能够忽略掉文件的细节,将各种应用的日志更清晰地抽象成一个个日志或事件的消息流,批量异步发送到消息队列Kafka阿里云供下游业务系统消费,生产者几乎感受不到性能的开支。

网站活动跟踪
用户浏览网页、评论等行为产生的网站活动数据,都可以通过消息队列Kafka版实时收集,然后以发布-订阅的模式实时记录到对应的Topic里,消费者通过订阅这些Topic来做实时的监控或者加载到Hadoop等离线仓库进行离线统计分析等。

流处理
商品秒杀促销、气象数据测控等数据产生快、实时性强且量大,难以统一采集并入库存储后再做处理,消息队列Kafka版能实现在数据流动的过程中对数据进行实时地捕捉和处理,并根据业务需求进行计算分析,最终把结果交由下游应用处理。