Kafka学习-基本概念

Kafka学习-基本概念,第1张

Kafka学习-基本概念 Kafka 是什么?主要应用场景有哪些?

Kafka是一个消息引擎,和一个分布式的流处理平台。
应用场景:1. 消息队列,提供应用程序之间的通信。2,数据处理。

Kafka相关术语

Topic:主题,生产者发布消息到特定的主题,生产者订阅这个主题获取消息
Producer:生产者,生产消息
Consumer:消费者,消费消息
Broker:一个kafka集群由多个broker组成,broker负责接收客户端(消费者和生产者都是)的请求。
Parition:分区,一个Topic有多个分区,并且同一个Topic的不同分区可以部署到不同的broker中。

Kafka中传输的对象是消息。如何传输消息是消息的发布/订阅模型。

消息传输模型:
    点对点:系统A发送的消息只能被系统B接收发布/订阅:有一个主题 Topic概念、生产者 Producer 、 消费者 Consumer。生产者将消息发布到 Topic ,消费者去接收。对于一个Topic可以有多个生产者和多个消费者。

点对点如何实现:采用一个消费者组订阅同一个主题组。主题组内每个分区只能被消费者组内一个消费者消费。

高可用:集群中有多个broker可以部署到不同的服务器上面。数据有备份机制(Replication)

三层消息架构

一条数据的写入:会写入一个Topic下的一个分区中,这个分区就是一个消息日志。使用一个分区位移offset来表示数据位置。日志就是一个物理日志,采用的是追加写,也就是顺序写。

    主题层:每个主题可以配置M个分区。每个分区又可以部署N个副本分区层:每个分区只有一个副本可以为leader副本,其余都是follow副本。消息层:分区中包含若干消息,每条消息从位移0开始,递增写入。客户端只能和领导者副本交互
日志持久化策略

日志对应着物理日志,采用追加写。避免了磁盘的随机写。避免日志使用完,会有定期删除。一个日志细分为多个日志段,日志段写满之后就会切出在新的日志段写。会定期判断日志段是否可回收。

数据备份机制(多副本机制)

是什么:
在一个Topic的分区中的一份数据有多个副本。其中仅有一个是leader副本,其余的是follow副本。只有leader副本具有数据的读写功能,其余副本只能同步leader副本的数据。仅仅保证数据存储的安全性

好处:
多分区:一个Topic的分区可以在不同的broker中,提供较好的并发能力,负载均衡。
多副本:减少了数据丢失的可能。leader副本丢了,还可以从follow副本中重新选举。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5711076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存