-
ZooKeeper:是 Kafka 用来负责集群元数据的管理、控制器的选举等操作的。
-
Producer:生产者,发送消息的一方。负责创建消息,然后将其投递到 Kafka 中。
-
Consumer:消费者,接收消息的一方。连接到 Kafka 后接收消息,并进行相应的业务逻辑处理。
-
Broker:服务代理节点。对于 Kafka 而言,Broker 可以简单地看作一个独立的 Kafka 服务节点或 Kafka 服务实例。大多数情况下也可以将 Broker 看作一台 Kafka 服务器,前提是这台服务器上只部署了一个 Kafka 实例。一个或多个Broker 组成了一个 Kafka 集群。
整体 Kafka 体系大概是由上面几部分构成。除此之外,还有两个特别重要的概念:主题(Topic)和分区(Partition)
-
主题:Kafka 中的消息以主题为单位进行归类,生产者负责将消息发送到特定的主题(发送到 Kafka 集群中的每一条消息都要指定一个主题),而消费者负责订阅主题并进行消费。
-
分区:主题是一个逻辑上的概念。还可以细分为多个分区,一个分区只属于单个主题,很多时候也会把分区称为主题分区(Topic-Partition)。同一主题下的不同分区包含的消息是不同的,分区在存储层面可以看作一个可追加的「日志文件」,消息在被追加到分区日志文件的时候都会分配一个特定的偏移量(offset)。offset 是消息在分区中的唯一标识,Kafka 通过它来保证消息在分区内的顺序性,不过offset并不跨越分区,也就是说,Kafka 保证的是分区有序而不是主题有序。
Kafka 为分区引入了多副本(Replica) 机制,通过增加副本数量可以提升容灾能力。
同一分区的不同副本中保存的是相同的消息(在同一时刻,副本之间并非完全一样),副本之间是“ 一主多从”的关系,其中 leader 副本负责处理读写请求 ,follower 副本只负责与 leader 副本的消息同步。副本处于不同的 broker 中 ,当 leader 副本出现故障时,从 follower 副本中重新选举新的 leader 副本对外提供服务。
「Kafka 通过多副本机制实现了故障的自动转移,当 Kafka 集群中某个 broker 失效时仍然能保证服务可用 。」
在我们继续了解 Kafka 之前,我们还需要明白几个关键词:
-
AR(Assigned Replicas):分区中所有副本统称为 AR
-
ISR(In-Sync Replicas):所有与 leader 副本保持一定程度同步的副本(包括 leader 副本在内)组成 ISR。ISR 集合是 AR 集合中的一个子集 。消息会先发送到 leader 副本,然后 follower 副本才能从 leader 副本中拉取消息进行同步,同步期间内follower 副本相对于 leader 副本而言会有一定程度的滞后 。
-
OSR(Out-of-Sync Replicas):与 leader 副本同步滞后过多的副本(不包括 leader 副本)组成 OSR
由以上关系我们可以得出一个公式:AR=ISR+OSR
-
HW(High Watermark):俗称高水位,是用来标识一个特定的消息偏移量(offset),消费者只能拉取到这个 offset 之前的消息
-
LEO(LogStartOffset):下一条待写入消息的 offset
究人员发现了一个属于View Media的不安全数据桶,其中包含近3900万美国公民记录。
赛博新闻研究小组发现了一个属于在线营销公司View Media的不安全数据桶。这个存储桶包含近3900万美国公民记录,包括他们的全名、电子邮件和街道地址、电话号码和邮政编码。
数据库保留在一个可公开访问的amazonwebservices(AWS)服务器上,允许任何人访问和下载数据。继8月早些时候CyberNews报道的3.5亿封电子邮件泄露事件之后,这是今年夏天我们第二次遇到包含如此大量用户数据的无安全保护的Amazon存储桶。

(编辑:孝感站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|