Kafka 基础简介
今天来一起聊聊 Kafka 基础知识。
1、Kafka 诞生的背景
LinkedIn 需要捕获数据并将这些巨量的数据以可靠的、完整的数据流方式传递给数据分析处理系统。
Kafka 作为 LinkedIn 的“中枢神经系统”,管理从各个应用程序汇聚到此的信息流,经处理后分发到各处。同时作为消息系统,进行消息的传递;同时也是日志存储系统,以日志的形式存储了数据源的所有数据。
2、Kafka 在 LinkedIn 的应用
管理信息流的开源解决方案:作为消息中枢,各应用以松耦合方式一起工作。
主要使用场景:系统监控;传统消息队列;分析;其他分布式日志系统组件;MirrorMaker(kafka 集群间同步数据);Restful 接口;审计服务。
3、Kafka 主要设计目标
1)以时间复杂度 O(1)的方式提供消息持久化能力,即使应对 TB 级以上的数据也能保证常数时间的访问性能
2)高吞吐率,即使廉价的商用机器上也能做到单机支持 100K/s 条消息的传输
3)支持 Kafka Server 间的消息分区,分布式消费,同时保证每个分区内消息顺序传输
4)支持离线数据处理和实时数据处理
5)支持在线水平扩展
4、为什么要使用消息系统
1)解耦
2)冗余 消息队列把数据进行持久化直到数据完全处理完,规避数据丢失风险
3)扩展性 基于解耦,可以增加消息入库和处理的频率
4)灵活性和峰值处理 削峰
5)可恢复性
6)顺序保证
7)缓冲
8)异步通信
版权声明: 本文为 InfoQ 作者【架构精进之路】的原创文章。
原文链接:【http://xie.infoq.cn/article/0d3185bcbabf9d8540da729bf】。文章转载请联系作者。
评论