当前位置: 首页 > news >正文

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

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

相关文章:

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

虽然 Apache Kafka 长期以来一直是流数据的行业标准&#xff0c;但新的创新替代方案正在重塑生态系统。其中之一是 WarpStream&#xff0c;它最近在 Confluent 的所有权下进入了新的篇章。此次收购进一步增强了 WarpStream 提供高性能、云原生数据流的能力&#xff0c;巩固了其…...

【Gitee自动化测试4】本地Git分支的增删查,本地Git分支中文件的增删查,本地文件的暂存/提交,本地分支的推送

一、流程 本地创建分支&#xff0c;设定连接什么云分支本地创建文件&#xff0c;暂存、提交–>本地分支本地分支推送所有修改–>云仓库 二、分支概念 在版本回退里&#xff0c;每次提交&#xff0c;git都把它们串成一条时间线&#xff0c;这条时间线可以理解为是一个分…...

vue-baidu-map的基本使用

前言 公司项目需求引入百度地图&#xff0c;由于给的时间比较短&#xff0c;所以就用了已经封装好了的vue-baidu-map 一、vue-baidu-map是什么&#xff1f; vue-baidu-map是基于vue.js封装的百度地图组件(官方文档) 二、使用步骤 1.下载插件 //我下载的版本 npm install …...

策略路由控制选路

&#x1f423;个人主页 可惜已不在 &#x1f424;这篇在这个专栏 华为_可惜已不在的博客-CSDN博客 &#x1f425;有用的话就留下一个三连吧&#x1f63c; 目录 一、 实验拓扑 二、 实验简述 三、 实验配置 配置路由信息 配置控制选路 四、 实验验证 ​ 一、 实验…...

【数据结构和算法实践-排序-快速排序】

数据结构和算法实践-排序-归并排序 题目My Thought代码示例JAVA-8 题目 排序 My Thought 然后再进行递归&#xff0c;递归要注意两个方面&#xff1a; 一、自我调用 二、终止条件&#xff1a;即函数边界 注意点&#xff1a;树、递归* 代码示例 JAVA-8 public class QuickSo…...

测试面试题:请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试

单元测试&#xff1a;完成最小的软件设计单元&#xff08;模块&#xff09;的验证工作&#xff0c;目标是确保模块被正确的编码集成测试&#xff1a;通过测试发现与模块接口有关的问题系统测试&#xff1a;是基于系统整体需求说明书的黑盒类测试&#xff0c;应覆盖系统所有联合…...

回归预测合集|基于灰狼优化21个机器学习和深度学习的数据回归预测Matlab程序 多特征输入单输出

回归预测合集|基于灰狼优化21个机器学习和深度学习的数据回归预测Matlab程序 多特征输入单输出 文章目录 一、清单二、实验结果三、核心代码四、代码获取五、总结 一、清单 基于灰狼优化BP神经网络的数据预测Matlab程序GWO–BP 基于灰狼优化卷积神经网络的数据预测Matlab程序G…...

html/css怎么禁用浏览器自动填写

<input type"text" name"username" autocomplete"off"> <input type"password" name"password" autocomplete"new-password">或者vue&#xff1a; <el-input type"text" v-model"…...

信息安全工程师(22)密码学网络安全应用

前言 密码学在网络安全中的应用极为广泛且深入&#xff0c;它通过多种技术手段确保数据的机密性、完整性和真实性。 一、数据加密 对称加密&#xff1a; 定义&#xff1a;使用相同的密钥进行加密和解密的过程。特点&#xff1a;加密和解密速度快&#xff0c;适用于大数据量的加…...

算法打卡:第十一章 图论part08

今日收获&#xff1a;拓扑排序&#xff0c;dijkstra算法 算法讲解部分均来源于代码随想录 1. 拓扑排序 基础知识&#xff1a; &#xff08;1&#xff09;应用场景&#xff1a;给出有向图&#xff0c;将有向图转换为线性的排序就叫拓扑排序&#xff08;如果图中有环则存在循…...

2024年Gartner主存储平台魔力象限报告 | 华为从领导者象限滑落到挑战者象限

魔力象限报告对比 本周Gartner发布了2024年主存储平台魔力象限报告&#xff0c;主存储用户正在采用平台原生服务功能来实现混合 IT 运营。I&O 领导者应利用这项研究来为任务关键型应用程序规划和执行现代且有弹性的存储基础设施平台。 本次报告中共有10家厂商入选&#xf…...

[Python学习日记-31] Python 中的函数(上)

[Python学习日记-31] Python 中的函数&#xff08;上&#xff09; 简介 语法定义 函数的参数 简介 引子&#xff1a; 你是某公司的一个高级程序员&#xff0c;现在老板让你写一个监控程序&#xff0c;需要24小时全年无休的监控公司网站服务器的系统状况&#xff0c;当 CPU、…...

工作笔记【四】

对于这种&#xff0c;样式一样&#xff0c;但是图片和字体颜色不一样&#xff0c;动态渲染。 代码&#xff1a; <template><view class"page"><view class"rows" v-for"item in data"><view class"v0"><v…...

ArcEngine C#二次开发图层处理:根据属性分割图层(Split)

需求&#xff1a;仅根据某一属性&#xff0c;分割图层&#xff0c;并以属性值命名图层名称保存。 众所周知&#xff0c;ArcGIS ArcToolbox中通过Split可以实现图形分割一个图层&#xff0c;以属性值命名图层&#xff0c;如下图所示。 本文仅仅依据属性值&#xff0c;将一个shp…...

【二叉平衡搜索树】Treap

前置 本篇是平衡树-treap的补充学习笔记。 Treap - 树堆 学习基础&#xff1a;适合一定基础的&#xff1a;比如&#xff0c;实现了经典二叉搜索树&#xff08;常用的几个函数写过&#xff09;&#xff0c; 和二叉堆&#xff08;数组的上浮下沉会写吗&#xff1f;&#xff09;&a…...

Spring Boot 应用Kafka讲解和案例示范

Kafka 是一款高吞吐量、低延迟的分布式消息系统。本文将详细介绍如何在 Spring Boot 项目中使用 Kafka 进行消息接收与消费&#xff0c;并结合幂等和重试机制&#xff0c;确保消息消费的可靠性和系统的扩展性。我们将以电商交易系统为案例进行深入解析。 1. 系统架构概览 在电…...

以到手价为核心的品牌电商价格监测

在当今竞争激烈的电商时代&#xff0c;品牌的价格监测至关重要。传统的页面价监测已无法满足品牌对渠道管控的需求&#xff0c;而到手价监测则成为品牌控价的关键所在。 力维网络&#xff0c;作为深耕数据监测服务多年的专业机构&#xff0c;拥有自主开发的数据监测系统&#…...

Android中使用RecyclerView制作横向轮播列表及索引点

在Android开发中&#xff0c;RecyclerView是一个非常强大的组件&#xff0c;用于展示列表数据。它不仅支持垂直滚动&#xff0c;还能通过配置不同的LayoutManager实现横向滚动&#xff0c;非常适合用于制作轮播图或横向列表。本文将详细介绍如何使用RecyclerView在Android应用中…...

Llama 3.1 技术研究报告-2

3.3 基础设施、扩展性和效率 我们描述了⽀持Llama 3 405B⼤规模预训练的硬件和基础设施&#xff0c;并讨论了⼏项优化措施&#xff0c;这些措施提⾼了训练效率。 3.3.1 训练基础设施 Llama 1和2模型在Meta的AI研究超级集群&#xff08;Lee和Sengupta&#xff0c;2022&#x…...

【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer

RNN网络的发展历史与演化趋势 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09;是一类用于处理序列数据的神经网络&#xff0c;特别擅长捕捉数据的时间或上下文依赖性。在其发展的过程中&#xff0c;不断出现各种改进和变体&#xff0c;以解决不…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...