Kafka 中的消息压缩17 Mar 2025 | 阅读 2 分钟 正如我们所见,生产者以文本格式将数据发送到 Kafka,通常称为 JSON 格式。JSON 有一个缺点,即数据以字符串形式存储。这会导致几个重复的记录存储在 Kafka 主题中。因此,它会占用大量磁盘空间。因此,需要减少磁盘空间。这可以通过在将数据发送到 Kafka 之前压缩或延迟数据来完成。 消息压缩的必要性以下原因可以更好地描述减少消息大小的必要性
生产者批处理/记录批处理生产者将消息逐条写入 Kafka。因此,Kafka 运行良好。它会等待要生产到 Kafka 的消息。然后,它会创建一个批处理并将消息放入其中,直到它已满。然后,将批处理发送到 Kafka。这种类型的批处理称为 生产者批处理。默认批处理大小为 16KB,最大值可以是任何值。批处理大小越大,压缩、吞吐量和生产者请求的效率越高。 ![]() 注意:消息大小不应超过批处理大小。否则,消息将不会被批处理。此外,批处理是按分区分配的,因此不要将其设置为非常高的数字。生产者批处理越大,使用消息压缩技术越有效。 消息压缩格式消息压缩始终在生产者端完成,因此不需要在消费者或代理端更改配置。 ![]() 在图中,创建了一个 200 MB 的生产者批处理。压缩后,它减少到 101 MB。 为了压缩数据,使用 'compression.type'。这使用户可以决定压缩类型。类型可以是 'gzip'、'snappy'、'lz4' 或 'none'(默认)。'gzip' 具有最大的压缩比。 消息压缩的缺点消息压缩存在以下缺点
因此,消息压缩是减少磁盘负载的更好选择。 下一主题Kafka 安全性 |
我们请求您订阅我们的新闻通讯以获取最新更新。