Kafka
xiaofang233
开源互联网技术追随者、狂热者。
展开
-
Kafka集群原理
Kafka 是一个分布式的、可水平扩展的、基于发布/订阅模式的、支持容错的消息系统。一、集群成员Kafka 使用 Zookeeper 来维护集群成员的信息。每个 broker 都有一个唯一标识符,这个标识符可以在配置文件里指定,也可以自动生成。在 broker 启动的时候,它通过创建临时节点把自己的 ID 注册到 Zookeeper。Kafka 组件订阅 Zookeeper 的 /broker/ids 路径,当有 broker 加入集群或退出集群时,这些组件就可以获得通知。ZooKeeper 两.原创 2020-09-12 18:31:59 · 8280 阅读 · 0 评论 -
Kafka重平衡机制
一、什么是 Rebalance分区的所有权从一个消费者转移到另一个消费者,这样的行为被称为重平衡(Rebalance)。Rebalance 实现了消费者群组的高可用性和伸缩性。消费者通过向被指派为群组协调器(Coordinator)的 broker 发送心跳来维持它们和群组的从属关系以及它们对分区的所有权。所谓协调者,在 Kafka 中对应的术语是 Coordinator,它专门为 Consumer Group 服务,负责为 Group 执行 Rebalance 以及提供位移管理和组成员管理等。具体原创 2020-09-12 10:51:51 · 2578 阅读 · 0 评论 -
Kafka高性能读写原理
Kafka是高吞吐低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。那么Kafka到底是如何做到这么高的吞吐量和性能的呢?一、页缓存技术 + 磁盘顺序写首先Kafka每次接收到数据都会往磁盘上去写,如下图所示。那么在这里我们不禁有一个疑问了,如果把数据基于磁盘来存储,频繁的往磁盘文件里写数据,这个性能会不会很差?大家肯定都觉得磁盘写性能是极差的。没错,要是真的跟上面那个图那么简单的话,那确实这个性能是比较差的。.原创 2020-09-11 09:35:16 · 848 阅读 · 0 评论 -
Kafka可靠数据传递
一、 可靠性保证Kafka 到底在什么情况下才能保证消息不丢失呢?一句话概括,Kafka 只对“已提交”的消息(committed message)做有限度的持久化保证。Kafka 的可靠性保证:Kafka 可以保证分区消息的顺序。只有当消息被写入分区的若干同步副本时,才被认为是已提交的。为什么是若干个 Broker 呢?这取决于你对“已提交”的定义。你可以选择只要 Leader 成功保存该消息就算是已提交,也可以是令所有 Broker 都成功保存该消息才算是已提交。只要还有一个副本是存活的,原创 2020-09-10 19:41:23 · 329 阅读 · 0 评论 -
Kafka副本机制理解
分布式系统中的副本机制所谓的副本机制(Replication),也可以称之为备份机制,通常是指分布式系统在多台网络互联的机器上保存有相同的数据拷贝。副本机制有什么好处呢?提供数据冗余。即使系统部分组件失效,系统依然能够继续运转,因而增加了整体可用性以及数据持久性。提供高伸缩性。支持横向扩展,能够通过增加机器的方式来提升读性能,进而提高读操作吞吐量。改善数据局部性。允许将数据放入与用户地理位置相近的地方,从而降低系统延时。这些优点都是在分布式系统教科书中最常被提及的,但是有些遗憾的是原创 2020-09-10 11:13:48 · 792 阅读 · 0 评论