虽然 Apache Kafka 长期以来一直是流数据的行业标准,但新的创新替代方案正在重塑生态系统。其中之一是 WarpStream,它最近在 Confluent 的所有权下进入了新的篇章。此次收购进一步增强了 WarpStream 提供高性能、云原生数据流的能力,巩固了其作为 Kafka 的可扩展且经济高效的替代方案的地位。本教程将引导您开始使用 WarpStream 和 MinIO,并解释结合使用这些工具如何为您的流媒体架构提供简单性、灵活性和成本节约。
Kafka 的现代替代方案
Kafka 在实时数据处理中的基础作用是不可否认的,但随着时间的推移,管理代理、本地文件存储和 ZooKeeper 操作的复杂性已成为许多人的痛点。WarpStream 通过提供在对象存储上运行的 Kafka 协议兼容平台来应对这些挑战。与需要大量运营开销的 Kafka 不同,WarpStream 更易于管理,并且可以将云部署成本降低多达 10 倍。使用 WarpStream,不需要带有本地磁盘的有状态代理。相反,WarpStream 使用 Agents,即易于扩展和管理的无状态 Go 二进制文件。这些代理可以配置为仅发现同一可用区中的其他代理,从而进一步降低与网络相关的成本,这是基于云的部署的关键因素。WarpStream 对 MinIO 等 S3 兼容存储的依赖增强了性能和可扩展性,而不会增加 JVM 的复杂性,使其成为 Kafka 的理想云原生替代方案。
为什么 MinIO 和 WarpStream 是完美的匹配
与当今的许多企业一样,Confluent 对 WarpStream 的部署模型非常感兴趣,他们称之为自带云 (BYOC)。 这意味着 WarpStream 可以在各种环境中部署数据流解决方案,包括本地、公共云或私有云、co-los 或边缘。通过收购 WarpStream,Confluent 通过集成 WarpStream 的云原生、兼容 Kafka 的工作负载,降低了操作复杂性,扩展了 Confluent 已经令人印象深刻的数据流功能。正如 Confluent 首席执行官 Jay Kreps 所强调的那样,WarpStream 的 BYOC(自带云)模型提供了前所未有的灵活性,这种多功能性对于大规模工作负载(如日志记录、可观测性和馈送数据湖)特别有利。由于 MinIO 也可以部署在数据所在的任何地方,因此将 WarpStream 的 BYOC 架构与 MinIO 的高性能、可扩展的对象存储相结合,为现代数据基础设施创建了一个强大且真正灵活的解决方案,几乎可以部署在任何地方。这种组合为处理 AI/ML 计划所需的大量数据集和复杂数据管道所需的企业提供了灵活性和效率。
延迟和成本注意事项
WarpStream 的成本效益、易用性和灵活性是它的一些主要卖点。但是,请务必注意,这种简单性是以增加延迟为代价的。WarpStream 的 P99 端到端延迟约为 1 秒,而 Kafka 集群可以达到两位数毫秒的低延迟。值得庆幸的是,有一些方法可以减少这种延迟,例如降低 batchTimeout 设置。
设置 MinIO 和 WarpStream
要开始使用 MinIO 的开发环境,请使用以下命令创建单节点 MinIO 服务器:
mkdir -p ${HOME}/minio/data
docker run \
-p 9000:9000 \
-p 9090:9090 \
--user $(id -u):$(id -g) \
--name minio1 \
-e "MINIO_ROOT_USER=ROOTUSER" \
-e "MINIO_ROOT_PASSWORD=CHANGEME123" \
-v ${HOME}/minio/data:/data \
quay.io/minio/minio server /data --console-address ":9090"
MinIO 启动并运行后,为 WarpStream 创建一个专用的访问密钥,这样可以避免使用您的根凭证。按照以下说明创建 Access Key:
接下来,您需要创建一个存储桶。请按照以下说明继续:
接下来,通过运行以下演示命令来设置 WarpStream:
AWS_ACCESS_KEY_ID="your-access-key" \
AWS_SECRET_ACCESS_KEY="your-secret-key" \
warpstream demo -bucketURL "s3://<your-bucket>?region=us-east-1&s3ForcePathStyle=true&endpoint=http://127.0.0.1:9000"
运行代理后,启动 WarpStream 开发人员控制台。您运行命令的终端将显示链接。
WarpStream 控制台允许您查看集群类型、基于时间的记录计数、未压缩字节数和批处理计数指标,以及与代理相关的统计数据,如 CPU 使用率。
warpstream 演示命令会创建一个演示账户,该账户具有一个 1 小时的操场和一个定期生成小型 JSON 文档的内存中创建器。在演示过程中,您可以监控 MinIO 存储桶以查看 WarpStream 创建的文件。
部署到生产环境
当您准备好迁移到生产环境时,WarpStream 为 Kubernetes 部署提供 Helm 图表,从而简化扩展工作。至关重要的是,MinIO 的 Enterprise Object Store 带来了强大的工具来优化生产环境。例如,MinIO Enterprise Console 充当“单一管理平台”,用于管理整个存储基础设施,包括跨不同环境(无论是本地、公共云还是边缘)的多个 MinIO 部署。控制台允许对大规模部署进行无缝监控和管理,使其成为大规模使用案例的理想选择。如果您的生产工作负载需要进一步优化,MinIO Enterprise Object Store 中的缓存专为超高性能而构建,利用 DRAM 创建分布式缓存以提高吞吐量,非常适合需要低延迟数据访问的 AI/ML 等要求苛刻的工作负载。这些工具结合在一起,可提供优化大规模生产环境存储基础架构所需的运营效率和可扩展性。
简化云原生时代的数据流
WarpStream 和 MinIO 的结合为数据流提供了现代的云原生解决方案。随着 WarpStream 被 Confluent 收购,基于对象存储的数据流的未来更加充满希望。希望简化其流式架构、降低成本并避免 Kafka 复杂性的组织应该考虑将 WarpStream 视为一个引人注目的替代方案。与 MinIO 配合使用,它可提供现代数据驱动型组织所需的性能、可扩展性和灵活性。