Kafka初步了解

1 kafka介绍

   官方: 

Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.

  翻译:kafka是一个实时数据管道和流水数据处理应用。它是水平可伸缩,可容错,快速强大的。被用于很多公司

 

Apache Kafka® is a distributed streaming platform. What exactly does that mean?

Kafka 是一个分布式的流式数据处理平台,到底是什么意思呢?

A streaming platform has three key capabilities:

2 流式数据处理平台有三个关键能力:

1》Publish and subscribe to streams of records, similar to a message queue or enterprise messaging system.

发布和订阅流式数据记录,类似于消息队列或企业级信息传递系统

2》Store streams of records in a fault-tolerant durable way.

以容错的方式持久化数据流

3》Process streams of records as they occur.

进行流式计算(在数据流中进行计算)

 

结论:Kafka 是一个消息队列,但它不仅仅是一个消息队列。

 


Kafka的基本概念:

 

Producer: 消息和数据的生产者。任意一个向Kafka的Topic发送消息的进程、代码、服务

 

Consumer:消息的消费者。订阅数据(Topic),并且处理其发布的消息的进程、代码、服务

 

ConsumerGroup(逻辑概念): 对于同一个Topic会广播给不同的Group。每个Group中只有一个Consumer可以消费数据

 

Broker(物理节点):Kafka集群中的每个节点

 

Topic(逻辑概念): 消息的类别对数据进行区分,隔离

 

Partition(物理概念): Kafka下的数据存储单元,一个Topic的数据会被分散到多个Partition中。一个Partition只存储在一个broker上。Partition是有序的 

 

Replication(): 同一个Partition可能有多个Replication.相当于是Partition的备份。多个Replication是一样的

 

ReplicationLeader : 一个Partition的多个Replication中 有一个ReplicationLeader 。负责Partition与Producer和Consumer交互

 

ReplicationManager: 负责管理当前Broder上所有分区和副本的信息。处理KafkaControl发起的请求,副本状态的切换和添加。读取消息。leader选举

 


概念:

 

1>每一个Topic被切分成多个Partitions

 

2 >消费者的数量要小于Partitions的数量

 

3 >BrokerGroup  中的Broker保存Topic中的一个或多个Partition

4> ConsumerGroup 中有且仅有一个Consumer读取Topic中一个或多个Partition并且是唯一的Consumer

 

Replication: 

它是Partition的副本(备胎),当Broker挂掉后 Replication可以提供服务。

系统默认设置是每一个Topic的Replication的系数是1.可以在创建Topic的时候单独设置

特点:

基本单位是Topic的Partition

所有的读和写都走ReplicationLeader. Followers只是备份。

Followers必须能够及时的复制leader上的数据

增加容错性和可扩展性


 

结构:

官方提供的图:

 

 

 

Kafka强依赖zookeeper, Broker的信息存储在zookeeper,Topic的Partitions分布信息存储在Zookeeper

 

Kafka的消息结构特点:

 

 

Kafka特点

分布式:

    多分区,多个Partition

    多副本 多个Replication 增加容错性

    多个订阅者: 订阅者的数量要小于Partitons

高性能:

    高吞吐量

    低延迟

    高并发

    时间复杂度O(1)

持久性和扩展性

    数据可持久化

    容错性

    在线水平扩展

    消息自动平衡

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值