kafka初探--基本概念

Kafka的特性:

高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。

可扩展性:kafka集群支持热扩展

持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失

容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)

高并发:支持数千个客户端同时读写

Topic
  • Topic是Kafka数据写入操作的基本单元,可以指定副本
  • 一个Topic包含一个或多个Partition,建Topic的时候可以手动指定Partition个数,个数与服务器个数相当
  • 每条消息属于且仅属于一个Topic
  • Producer发布数据时,必须指定将该消息发布到哪个Topic
  • Consumer订阅消息时,也必须指定订阅哪个Topic的信息

Partition
  • 每个Partition只会在一个Broker上,物理上每个Partition对应的是一个文件夹

  • Kafka默认使用的是hash进行分区,所以会出现不同的分区数据不一样的情况,但是partitioner是可以override的

  • Partition包含多个Segment,每个Segment对应一个文件,Segment可以手动指定大小,当Segment达到阈值时,将不再写数据,每个Segment都是大小相同的

  • Segment由多个不可变的记录组成,记录只会被append到Segment中,不会被单独删除或者修改,每个Segment中的Message数量不一定相等

  • 每个Partition只会在一个Broker上,物理上每个Partition对应的是一个文件夹

  • Partition包含多个Segment,每个Segment对应一个文件,Segment可以手动指定大小,当Segment达到阈值时,将不再写数据,每个Segment都是大小相同的

  • Segment由多个不可变的记录组成,记录只会被append到Segment中,不会被单独删除或者修改,每个Segment中的Message数量不一定相等

consumer group
  • 一个组中有多个consumer,他们公用一个groupid
  • 组内所有的消费者协调在一起来消费订阅的topic中的partition,不过每个分区只能由一个消费组中的一个consumer来消费
  • 一个partition的message可以被多个消费者消费,但是每个consumer必须是不同的consumer group中的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值