Kafka笔记

1、参考:Kafka in a Nutshell

使用Kafka作为中央消息传递总线。 首先将所有传入数据放入Kafka中,并从Kafka中读取所有传出数据。 Kafka集中了数据生产者和数据消费者之间的通信。

Kafka是一种通过发布-订阅模型的分布式消息传递系统。

所有Kafka消息均按topics组织。 如果希望发送消息,则将其发送到特定topic,如果希望读取消息,则从特定topic中读取。 消费者将消息从Kafka topic中拉出,而生产者将消息推入Kafka topic。 最后,Kafka作为分布式系统在集群中运行。 群集中的每个节点都称为Kafka broker。

Kafka topic分为多个partitionspartitions允许您通过跨多个brokers将特定topic中的数据拆分来并行化处理一个topic-每个partition可以放置在单独的计算机上,以允许多个使用者并行地从一个topic中读取信息。 使用者也可以并行化,以便多个使用者可以从一个topic的多个partitions中读取信息,从而实现非常高的消息处理吞吐量。

partition 中的每个消息都有一个称为其偏移量的标识符。 将消息的顺序偏移为不可变序列。 Kafka会为您维护此消息顺序。 消费者可以从特定的偏移量开始读取消息,并可以从他们选择的任何偏移量点进行读取,从而允许消费者在他们认为合适的任何时间点加入集群。 考虑到这些限制,Kafka集群中的每条特定消息都可以由元组唯一标识,该元组由消息的topic,partition 和partition 内的偏移量组成。

看待分区的另一种方法是作为log。 数据源将消息写入log,并且一个或多个使用者在他们选择的时间点从日志中读取消息。 在下图中,数据源正在写入log,而使用者A和B正在以不同的偏移量从log中读取消息。

Kafka将消息保留一段可配置的时间,这取决于消费者相应地调整其行为。 例如,如果将Kafka配置为保留一天的消息,而使用者关闭的时间超过一天,则该使用者将丢失消息。 但是,如果使用者关闭了一个小时,则可以从其最后一个已知偏移量开始再次读取消息。 从Kafka的角度来看,它没有保持任何关于消费者从某个主题中读取内容的状态。 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值