从 Kafka 到 WarpStream: 用 MinIO 简化数据流

news2024/9/28 5:41:17

虽然 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 配合使用,它可提供现代数据驱动型组织所需的性能、可扩展性和灵活性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2172518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构与算法——Java实现 19.队列

目录 一、概述 二、链表实现队列 接口定义 接口实现类 测试类 三、环形数组实现队列 优点 下标计算 判满和判空 判满 判空 辅助变量size判空和判满 方法1 接口定义 接口实现类 测试类 方式2 接口定义 接口实现类 测试类 方法3 接口定义 接口实现类 测试类 生活鲜少给人留下退…

C语言 | Leetcode C语言题解之第440题字典序的第K小数字

题目&#xff1a; 题解&#xff1a; #define MIN(x, y) ((x) < (y) ? (x) : (y))int getSteps(int curr, long n) {int steps 0;long first curr;long last curr;while (first < n) {steps MIN(last, n) - first 1;first first * 10;last last * 10 9;}return …

WMware安装WMware Tools(Linux~Ubuntu)

1、这里终端里面输入sudo apt upgrade用于更新最新的包 sudo apt upgrade 2、安装 open-vm-tools-desktop 包&#xff0c; Ps&#xff1a;这里是以为我已经安装好了。 udo apt install open-vm-tools-desktop -y3、最后重启就大功告成了 reboot 4、测试是否成功&#xff1a…

翻译器在线翻译:开启多语言交流新时代

随着国际交流、商务合作、文化交融以及互联网的飞速发展&#xff0c;人们对于跨越语言鸿沟的需求日益迫切。翻译工具成为了我们必备的一个工具&#xff0c;这篇文章我们一起来探讨一些好用的翻译器在线翻译工具吧。 1.在线福昕翻译 链接直达>>https://fanyi.pdf365.cn/…

[贪心+数学/数学+位运算] 两种方法O(1)解决 消减整数

标题&#xff1a;[贪心数学/数学位运算] 两种方法O(1)解决 消减整数 个人主页水墨不写bug 目录 一、题目&#xff1a;消减整数(Newcoder) 二、题目分析 1.理解题意&#xff1a; 2.解决问题 解法详解一&#xff1a;贪心数学 解法一参考代码&#xff1a; 解法详解二&#xf…

【RabbitMQ——具体使用场景】

1. 异步 1.1 同步异步的问题&#xff08;串行&#xff09; 串行方式&#xff1a;将订单信息写入数据库成功后&#xff0c;发送注册邮件&#xff0c;再发送注册短信。以上三个任务全部完成后&#xff0c;返回给客户端 public void makeOrder(){// 1 :保存订单 orderService.…

电脑退域或切换系统账号后系统黑屏

之前加入域时迁移了账号系统&#xff0c;导致退域后本地账号系统没了东西黑屏但能看到鼠标。也登不了域账号了一顿慌张&#xff08;操作如下&#xff09; 解决&#xff1a;又加回了域哈哈哈 重启电脑按F8进不去安全模式&#xff0c;找不到触发时间... winr打开运行&#xff0c;…

什么是托管安全信息和事件管理 SIEM?

什么是 SIEM&#xff1f; 安全信息和事件管理 ( SIEM ) 解决方案最初是一种集中式日志聚合解决方案。SIEM 解决方案会从整个组织网络中的系统收集日志数据&#xff0c;使组织能够从单一集中位置监控其网络。 随着时间的推移&#xff0c;SIEM解决方案已发展成为一个完整的威胁…

Jenkins简介;Jenkins安装

一&#xff0c;Jenkins简介 1、什么是Jenkins Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。 2、Jenkins的作用 持续的软…

【Golang】(推荐项目)Go后端工程项目

Go后端工程项目 在这个基于项目的课程中&#xff0c;我们将从头开始用 Go 构建一个完整的 REST API。 本次项目将从构建一个简单的 TCP 服务器开始&#xff0c;目标是探索 Go 中的 net/http 包。本项目的目标是获得构建和推理一般后端系统的基础知识。 为什么推荐这个项目&am…

操作台厂家如何设计工作台面才能让企业高效办公?

在快节奏的现代商业环境中&#xff0c;高效办公已成为企业竞争力的重要体现。嘉德立作为一家专注设计操作台厂家&#xff0c;很明确的告诉大家设计一款既能提升工作效率&#xff0c;又能兼顾员工舒适度的工作台面&#xff0c;是赢得市场的关键。那么&#xff0c;如何巧妙地设计…

【LLM】 TinyAgent 构建指南

文章目录 TinyAgent 构建指南项目概述实现步骤步骤一&#xff1a;模型构建步骤二&#xff1a;工具构建步骤三&#xff1a;Agent 构建步骤四&#xff1a;运行 Agent 结论参考文献学习心得 TinyAgent 构建指南 项目地址&#xff1a;https://github.com/datawhalechina/tiny-univ…

详解位示图计算方法、代码

位示图 位示图的核心思想计算过程与位操作假设问题场景&#xff1a; 实际操作与计算&#xff1a;1. 位示图的初始化2. 设置某一位&#xff08;标记资源占用&#xff09;3. 清除某一位&#xff08;释放资源&#xff09;4. 查询某一位&#xff08;检查资源状态&#xff09; 示例问…

【2米/8米光学卫星】

2米/8米光学卫星 2米/8米光学卫星&#xff0c;通常指的是GF-1 B、C、D卫星&#xff0c;这是我国民用空间基础设施发展规划中的首个民用高分辨率光学陆地业务星座&#xff0c;也是自然资源部组建后发射的首批业务卫星。以下是对该卫星的详细介绍&#xff1a; 一、基本信息 发…

k8s 分布式存储平台 -- Longhorn

文章目录 一、什么是 Longhorn二、架构设计1、工作原理2、工作流程3、基于微服务设计的优势 三、安装1、安装要求2、使用 Longhorn 命令行工具&#xff08;验证方式一&#xff09;3、使用环境检查脚本&#xff08;验证方式之二&#xff09;3.1、安装 jq3.2、运行脚本 4、安装 o…

AI会议时代:企业如何搭上快车?

“我 们认为&#xff0c;AI绝不仅是会议的辅助工具&#xff0c;而更会是重塑会议流程的关键力量。通过AI的个性化定制、大规模支持、智能分析这些技术&#xff0c;AI会议将大大提升会议的智能化与高效性&#xff0c;进而成为企业数字化转型的核心驱动力。” 作者|斗斗 编辑…

QTreeview model过滤

QTreeview model数据过滤&#xff1a;大小写区分&#xff0c;对列过滤&#xff0c;对子对象过滤 示例&#xff1a; 需要自定义QSortFilterProxyModel, //自定义过滤model mProxyModel new TreeFilterProxyModel(this); //添加treeview当前model mProxyModel->setSource…

【源码+文档+调试讲解】学生选课系统Python

摘 要 学生选课系统采用B/S架构&#xff0c;数据库是MySQL。网站的搭建与开发采用了先进的Python进行编写&#xff0c;使用了Django框架。该系统从三个对象&#xff1a;由管理员和学生、教师来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对学生、教…

Brave编译指南2024 MacOS篇-获取源码(三)

引言 在上一篇文章中,我们介绍了Brave浏览器的基本特性,以及编译Brave所需的系统要求和推荐工具。现在,我们将进入编译过程的第一个实际步骤:获取Brave的源代码。这一步骤对于后续的编译和开发工作至关重要。 1. Brave源码的获取途径 Brave的源码托管在GitHub上,任何人都可以…

YOLO格式数据集转为COCO数据集(简单粗暴)

最近需要用的coco格式的数据集&#xff0c;但是在网上找的很多 毕竟麻烦&#xff0c;简单记录一下&#xff01; 1、调整目录结构&#xff08;以GC10-DET数据集为例&#xff09; YOLO格式数据集目录结构如下&#xff1a; 简单来说就是images文件夹里面有train、val、test三个文…