Kafka入门的一些基本概念

Apache Kafka是一个分布式消息传递系统,提供消息持久化、顺序存储和高并发处理能力。关键概念包括消息和批处理、模式、主题和分区、生产者和消费者。消息按顺序写入和读取,通过主题和分区实现数据分布和冗余。生产者负责发送消息,消费者通过消费者群组协同消费。代理和集群确保高可用性和容错性,而多集群则用于数据隔离和灾难恢复。
摘要由CSDN通过智能技术生成

概述

Apache Kafka是一个发布/订阅消息传递系统。 它通常被描述为“分布式提交日志”或被描述为“分布式流式传输平台”。文件系统或数据库提交日志旨在提供所有事务的持久记录,以便可以一致地重放它们建立系统的状态。 类似地,Kafka中的数据按顺序持久存储,并且可以确定性地读取。 此外,数据可以在系统内分布式存储,以提供额外的故障保护,以及性能扩展的可能。

重要的概念

消息和批处理

Kafka中的数据单元称为消息(message)。如果你从数据库背景接近Kafka,您可以将其视为与行或记录类似。就Kafka而言,消息只是一个字节数组,因此其中包含的数据对Kafka没有特定的格式或含义。消息可以具有可选的元数据位,其被称为key。key也是一个字节数组,与消息一样,对Kafka没有特定含义。当消息以更受控制的方式写入分区时,使用key。最简单的方案是生成key的一致哈希,然后通过获取哈希模的结果(主题中的分区总数)来选择该消息的分区号。这可确保具有相同key的消息始终写入同一分区。

为了提高效率,将消息分批写入Kafka。批处理只是一组消息,所有消息都生成到同一主题和分区。每条消息通过网络进行单独的往返会导致过度的开销,并且将消息一起收集到一个批处理中会减少这种情况。当然,这是延迟和吞吐量之间的权衡:批次越大,每单位时间可以处理的消息越多,但单个消息传播所需的时间越长。批次通常也是压缩的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值