第七篇——Apache Kafka的设计与实现

作者:禅与计算机程序设计艺术

1.简介

Apache Kafka是Apache软件基金会推出的一个开源分布式流处理平台,它最初由LinkedIn开发并于2011年9月正式发布,目前已成为 Apache 项目之一,是一个基于发布-订阅模式的分布式、高吞吐量、可容错、高可靠的消息系统,能够提供实时的消费和发送消息能力。Kafka具有以下特点:

1.高吞吐量:Kafka采用了“分布式”和“分区”的方式来提升性能。它支持在线水平扩展,可以支持任意数量的生产者和消费者同时读取数据,并且它保证每条消息被平均分配到各个分区。通过分区方式,Kafka能够让单台服务器上的集群承受更大的并发读写请求,而且不需要担心网络延迟带来的影响。

2.高可用性:由于Kafka的设计目标之一就是高可用,所以它天生具备内置的容错机制。当一个Broker宕机时,其它Broker将接管其工作负载。另外,通过多副本(Replica)机制,Kafka可以防止数据丢失。即使所有副本中的某个节点发生故障,Kafka仍然能够继续运行,不会造成数据的损坏或服务中断。

3.可靠性:Kafka提供了多种数据持久化机制,例如零拷贝(Zero Copy),所以它可以在磁盘上快速且高效地存储数据。为了确保可靠性,Kafka采用了两套机制:ISR(In-Sync Replicas)和OSR(Out-of-Sync Replica)。ISR指的是当前与Leader保持同步的副本集;而OSR则是那些与Leader相隔太远的副本。当Leader发生故障时,其他副本变为新的Leader,这个过程称为选举(Election)。Kafka文章来源地址https://uudwc.com/A/Pmvag

原文地址:https://blog.csdn.net/universsky2015/article/details/132843858

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年10月29日 06:09
基于微信维修报修小程序毕业设计成品作品全套(4)任务书和中期检查报告模版
下一篇 2023年10月29日 08:10