Bootstrap

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)异步通信