消息队列Kafka完全兼容原生Kafka队列,业务可实现零改动迁移。
功能项 | 是否支持 | 备注 |
---|---|---|
多协议支持 | 只支持Kafka自定义协议 | |
跨语言支持 |
采用Scala编写 支持多种语言的客户端。 |
|
消费模式 | 客户端主动拉取 | |
广播消费 | 支持 | |
消息回溯 | 支持 | 支持按照offset和timestamp两种维度进行消息回溯。 |
消息堆积 | 支持 | |
消息追踪 | 不支持 | |
消息顺序性 | 支持 | 支持单分区(partition)级别的顺序性。 |
消息过滤 | 支持 | 根据消息标签对消费的消息过滤 |
事务性消息 | 支持 | 针对发送端、消费端都能进行消息的二次确认操作 |
优先级队列 | 不支持 | |
延迟队列 | 不支持 | 消费者可以决定将暂不消费的消息重新投递到队列中延后再消费 |
死信队列 | 不支持 | 将无法成功处理的消息存放于死信队列,统一分析处理 |
重试队列 | 不支持 | |
持久化 | 支持 | |
幂等性 | 支持 | 支持单个生产者单分区单会话的幂等性。 |
消息队列Kafka优势
即开即用
快速部署,易于管理。消息队列Kafka是一项全托管服务,完全兼容开源ApacheKafka,无需部署维护软硬件设施,用户分钟级即可成功创建出Kafka阿里云。
高可用
支持多副本机制,通过多副本机制实现故障自动转移,部分Broker节点失效时仍然保证服务可用。
高并发
支持每秒百万级别的吞吐量和数千个客户端同时读写。
弹性扩容
轻松扩展,方便快捷。用户可根据资源使用情况按需扩容,不影响现有业务的同时以满足业务增长需求。
安全性
资源独享,安全可控。部署在逻辑隔离的用户VPC内,杜绝了外网直连风险,保障了用户资源的安全。
消息队列Kafka应用场景
日志处理
消息队列Kafka的高吞吐和持久化特性决定它非常适合作为日志收集中心。消息队列Kafka版能够忽略掉文件的细节,将各种应用的日志更清晰地抽象成一个个日志或事件的消息流,批量异步发送到消息队列Kafka阿里云供下游业务系统消费,生产者几乎感受不到性能的开支。
网站活动跟踪
用户浏览网页、评论等行为产生的网站活动数据,都可以通过消息队列Kafka版实时收集,然后以发布-订阅的模式实时记录到对应的Topic里,消费者通过订阅这些Topic来做实时的监控或者加载到Hadoop等离线仓库进行离线统计分析等。
流处理
商品秒杀促销、气象数据测控等数据产生快、实时性强且量大,难以统一采集并入库存储后再做处理,消息队列Kafka版能实现在数据流动的过程中对数据进行实时地捕捉和处理,并根据业务需求进行计算分析,最终把结果交由下游应用处理。