Kafka 云原生解决方案介绍

前言

本文主要介绍 Kafka 在生产实践中存在的问题,如运维操作、负载均衡、故障恢复等各方面,并简单介绍字节跳动、小红书是如何使用消息队列的云原生化来解决这些问题的。

Kafka 实践遇到的问题

随着业务快速增长,经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。在本中,将介绍 Kafka 在生产实践中存在的问题,如运维操作、负载均衡、故障恢复等各方面。

运维操作

Kafka 的重启、扩缩容、分区迁移,这些运维操作都比较复杂。

负载均衡

故障恢复

Kafka 自身支持处理单机故障,但对多机故障却无能为力。

Page Cache

存算一体架构

字节跳动云原生消息队列方案

BMQ 是字节跳动自研的一款消息队列,基于 C++ 开发,兼容 Kafka 协议,采用 HDFS 分布式存储来存放消息数据。

系统架构

数据存储

Broker 运行机制

Proxy 运行机制

容灾容错 HDFS

线上业务使用场景

小红书 Kafka 云原生最佳实践

小红书在 Kafka 原有的基础上,引入了分层存储、弹性扩容、消费隔离等特性。

核心手段

系统架构

架构优势

成本优化

消费隔离

智能缓存

弹性扩容

容器化

未来展望

升级现有架构

引入存算分离架构

AutoMQ 云原生消息队列方案

AutoMQ for Kafka

AutoMQ 开源的新一代消息流存储平台,面向开发者提供低成本、无状态、 100% 兼容 Apache Kafka 的消息服务。目前有两种版本,分别是商业版与开源版本。

AutoMQ for RocketMQ

AutoMQ 基于 Apache RocketMQ 5.0 的云原生开源实现。目前有两种版本,分别是商业版与开源版本。

参考资料