深入kafka设计原理-为什么选择kafka

kafka基础概念-为什么选择kafka

kafka应用场景

kafka是LinkedIn最初设计并开源出来的分布式事件流平台, 它主要支持发布和订阅消息、持久存储消息以及追溯事件流等. kafka生态非常的成熟, 一般kafka可以有以下场景:

消息系统
kafka作为一种分布式发布订阅消息系统, 支持水平伸缩扩展且具备高吞吐量和高可用性. kafka具备传统消息系统的作用如应用解藕、流量削峰、异步消息等, 同时kafka还提供消息顺序性以及消息回溯等功能.

流式处理平台
kafka因为其可靠性可以作为流式处理系统的可靠数据来源, 能够很好的跟Apache Storm、Apache Spark等快速集成. 除了作为数据来源, kafka也提供了强大的流式处理类库.

事件存储系统
kafka将各个消息事件存储在磁盘中, 作为事件存储系统. kafka可以很好的将其他数据源的数据如ES导入到kafka中, 也可以将kafka中的数据导出到其他存储中. kafka官方提供了非常多的connect, 用于快速集成其他数据源. 作为存储系统, 需要考虑存储时长, 默认kafka存储有效期是一周, 可以根据应用具体需求调整更长或者更短.

kafka基本概念

kafka主要分为生产者producer、服务器broker和消费者consumer三大元素. 生产者producer主要是构建消息并发送到服务器broker、服务器broker接收消息并存储在本地磁盘、消费者consumer从服务器broker获取消息并处理. 整体架构图如下:

你可能感兴趣的:(kafka实战,kafka)