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

云消息队列 Kafka 版生态谈第一期:无代码转储能力介绍

作者:娜米

云消息队列 Kafka 版为什么需要做无代码转储

云消息队列 Kafka 版本身是一个分布式流处理平台,具有高吞吐量、低延迟和可扩展性等特性。它被广泛应用于实时数据处理和流式数据传输的场景。然而,为了将云消息队列 Kafka 版与其他数据源和数据目的地集成,需要额外的开发/组件来实现数据的传输和同步,客户需要大量的研发、运维等投入。

为了提升研发效率,云消息队列 Kafka 版联合阿里云产品支持到无代码、全托管、Serverless 化的功能特性,支持从云消息队列 Kafka 版到 OSS 的转储。该功能特性的优势有:

  • 简单
    • 敏捷开发,简单配置就可以支持该能力
    • 轻松转储不同应用程序的 OSS 数据
    • 无需复杂的软件和基础设施
  • 全托管
    • 提供 Serverless 计算能力
    • 免运维
    • 成熟功能
  • 低成本
    • 云消息队列 Kafka 版本身不额外收费,底层依赖函数计算按量收费
    • 函数计算为该场景做深度优化,结合架构实现低成本:引入 CDN 缓存机制,动态计算配合衍生副本存储成本
    • 产品集成链路一定的减免费用

云消息队列 Kafka 版+OSS 主要应用场景

  • 数据备份和归档

    OSS 提供了数据备份和归档的功能。客户可以选择将重要数据备份到 OSS 中,以提供数据灾难恢复的能力。OSS 提供了数据持久性和可靠性的保证,可以确保数据的安全性和可用性。同时,OSS 还提供了归档存储的功能,用于长期存储不经常访问的数据。客户可以将数据归档到 OSS 的归档存储类别中,以节省存储成本,并根据需要进行数据恢复。

  • 大数据分析

    阿里云的对象存储 OSS 可以作为大数据的存储平台。客户可以将各种类型的大数据文件(如日志文件、传感器数据、用户行为数据等)存储在 OSS 中,以便后续进行数据分析、数据挖掘和机器学习等任务。客户可以在阿里云上完成大数据的存储、处理和分析任务,实现弹性扩展和高性能的大数据处理。

  • FC 计算结果的缓存

    阿里云函数计算(Function Compute,简称 FC)是一种事件驱动的无服务器计算服务,用于帮助用户以更低的成本和更高的弹性运行代码。而阿里云对象存储 OSS 是一种云端数据存储服务,提供安全、稳定、高扩展性的云端存储能力。FC 是无状态的计算服务,不提供持久化的本地存储。因此,如果需要在函数执行期间存储和访问数据,可以通过与 OSS 结合使用,将数据存储在 OSS 中。这样可以实现数据的持久化存储,确保数据不会因为函数计算的瞬时性而丢失。

代码转储产品能力介绍

图片

1. 0 代码开发: 转储/Connector 提供了与各种数据源和数据目的地的集成功能。通过使用云消息队列 Kafka 版转储/Connector 能力,研发人员无需编写复杂的数据集成代码,只需配置相应的 Connector 即可实现数据的传输和同步,大大简化了数据集成的过程。

2. 配置化支持: 用户可以根据自己的需求和业务场景,灵活配置转发规则和存储策略。无论是按照时间、关键字、主题等维度进行转发,支持按照文件夹、文件名等维度进行存储,都可以通过简单的配置实现,满足的个性化需求。

3. 高可靠性和容错性: 转储/Connector 保证了数据的高可靠性和容错性。数据在传输过程中,Connector 会自动处理数据的冗余和故障恢复,确保数据不会丢失或损坏。这样,用户不需要关注数据传输的细节和异常处理,可以更加专注于业务逻辑的开发。

4. Serverless 化: 可以根据请求的负载自动扩展和缩减计算资源。与传统的预分配服务器相比,Serverless 化可以更灵活地适应实际需求,降低资源浪费和成本。组件负责管理和维护底层基础架构,客户无需关心服务器的配置和管理。

使用步骤说明

前提条件

1. 云消息队列 Kafka 版实例准备 [ 1]

  1. 依赖开放,请参见创建前提 [ 2]

步骤一:创建目标服务资源

在对象存储 OSS 控制台创建一个存储空间(Bucket)。详细步骤,请参见控制台创建存储空间 [ 3]

本文以 oss-sink-connector-bucket Bucket 为例。

步骤二:创建 OSS Sink Connector 并启动

登录云消息队列 Kafka 版控制台 [ 4] ,在概览页面的资源分布区域,选择地域。

在左侧导航栏,选择 Connector 生态集成 > 消息流出(Sink)。

在消息流出(Sink)页面,单击创建任务。

在消息流出创建面板,配置以下参数,单击确定。

在基础信息区域,设置任务名称,将流出类型选择为对象存储 OSS。

在资源配置区域,设置以下参数。

图片

图片

完成上述配置后,在消息流出(Sink)页面,找到刚创建的 OSS Sink Connector 任务,单击其右侧操作列的启动。当状态栏由启动中变为运行中时,Connector 创建成功。

步骤三:测试 OSS Sink Connector

在消息流出(Sink)页面,在 OSS Sink Connector 任务的事件源列单击源 Topic。

在 Topic 详情页面,单击体验发送消息。

在快速体验消息收发面板,按照下图配置消息内容,然后单击确定。

图片

在消息流出(Sink)页面,在 OSS Sink Connector 任务的事件目标列单击目标 Bucket。

在 Bucket 页面,选择左侧导航栏的文件管理 > 文件列表,然后进入 Bucket 的最深层路径。

图片

可以看到此路径中有如下两类 Object:

  • 系统 meta 文件: 格式为 .oss_meta_file_partition_{partitionID},文件数量和上游 Topic 的 Partition 数量相同,用于记录攒批信息,您无需关注。
  • 数据文件: 格式为 partition_{partitionID}offset{offset}_{8位Random 字符串},如果一个 Object 中聚合了一个 Partition 的多条消息,Object 名称中的 Offset 为这批消息中的最小 Offset 值。

在对应 Object 右侧操作列,选择图片 > 下载。

打开下载的文件,查看消息内容。

图片如图所示,多条消息之间通过换行分隔。

相关链接:

[1] 云消息队列 Kafka 版实例准备

https://help.aliyun.com/zh/apsaramq-for-kafka/getting-started/getting-started-overview

[2] 创建前提

https://help.aliyun.com/zh/apsaramq-for-kafka/user-guide/prerequisites#concept-2323967

[3] 控制台创建存储空间

https://help.aliyun.com/zh/oss/getting-started/console-quick-start#task-u3p-3n4-tdb

[4] 云消息队列 Kafka 版控制台

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fkafka.console.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.22.6bf72638IfKzDm&lang=zh

点击此处,云消息队列 Kafka 版 V3 公测正式开启!

相关文章:

云消息队列 Kafka 版生态谈第一期:无代码转储能力介绍

作者:娜米 云消息队列 Kafka 版为什么需要做无代码转储 云消息队列 Kafka 版本身是一个分布式流处理平台,具有高吞吐量、低延迟和可扩展性等特性。它被广泛应用于实时数据处理和流式数据传输的场景。然而,为了将云消息队列 Kafka 版与其他数…...

java: 从HBase中读取数据

一、添加依赖&#xff1a; <dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.6.0</version></dependency><dependency><groupId>org.apache.hbase</groupI…...

Lumeical Script------Script Prompt 中的两种输出方式

Lumeical Script------Script Prompt 中的两种输出方式 引言正文方法1方法2 引言 有时候&#xff0c;和众多编程语言一样&#xff0c;我们需要在 Script Prompt 中打印一些我们已经得到的数据&#xff0c;这样可以方便我们调试代码和查看代码中是否有错误。关于在 Script Prom…...

什么是OOM error

OOM error是"Out of Memory"&#xff08;内存不足&#xff09;错误的简称。它通常发生在计算机程序执行过程中&#xff0c;当程序需要更多内存空间来执行操作&#xff0c;但系统没有足够的可用内存时&#xff0c;就会触发OOM错误。 当程序尝试使用超过其可用内存的量…...

IO进程线程 day7

使用消息队列完成两个进程之间相互通信 #include<my_head.h> struct msgbuf {long mtype;char mtext[128]; }; #define SIZE (sizeof(struct msgbuf) - sizeof(long))//分支线程从消息队列中读取类型2的消息 void *task(void *arg) {int msgid *((int *)arg);struct msg…...

扩展学习|数据融合助推商务智能与分析

文献来源&#xff1a;[1]李爱华,续维佳,石勇.基于数据融合的商务智能与分析架构研究[J].计算机科学,2022,49(12):185-194. 一、信息融合 &#xff08;一&#xff09;信息融合定义演变 早期信息融合的定义指出&#xff0c;其主要任务是综合分析若干传感器观测到的信息[9,…...

Java项目:112SSM在线电影订票系统

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 在线电影订票系统基于SpringSpringMVCMybatis开发&#xff0c;系统分为前台和后台&#xff0c;前台主要用来用户浏览电影信息&#xff0c;订票&#xff0c…...

Echarts——使用graphic组件在一个option内同时设置两个饼图的背景图

使用echarts的graphic原生图形元素组件&#xff0c;为两个饼图设置对应背景。 <template><div id"app"><div class"charts" ref"charts"></div></div> </template><script> import * as echarts from…...

编程笔记 html5cssjs 027 HTML输入属性(1/2)

[TOC](编程笔记 html5&css&js 027 HTML输入属性(1/2)) <input>元素除了type属性表示输入类型&#xff0c;后面还跟上其他属性&#xff0c;叫输入属性。 value 属性 value 属性规定输入字段的初始值&#xff1a; <form action"">First name:<…...

请求参数乱码问题

POST请求方式解决乱码问题 在web.xml里面设置编码过滤器 <filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 设置过滤器中的属性值 -…...

【leetcode】力扣热门之反转链表【简单难度】

题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 用例 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 输入&#xff1a;head [] 输出&#xff1a;[…...

【sgPasswordInput】自定义组件:带前端校验密码强度的密码输入框,能够提供密码强度颜色提示和文字提示

特性&#xff1a; 有密码强度颜色提示密码强度进度条提示支持设置默认输入提示和密码长度 sgPasswordInput源码 <template><div :class"$options.name" style"width: 100%"><el-inputstyle"width: 100%"ref"psw"type&…...

1599 - Ideal Path (UVA)

题目链接如下&#xff1a; https://onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&category448&pageshow_problem&problem4474 这道题也是看了刘汝佳的思路才写出来的.... 代码如下&#xff1a; #include <cstdio> #include <deque&…...

计算机网络(超级详细笔记)

使用教材计算机网络&#xff08;第8版&#xff09;&#xff08;谢希仁&#xff09; 第一章&#xff1a;概述 第二章&#xff1a;物理层 第三章&#xff1a;数据链路层 第四章&#xff1a;网络层 第五章&#xff1a;运输层 第六章&#xff1a;应用层 目…...

老杨说运维 | 年末大讲回顾:运维的尽头也是大模型吗?

哈喽~朋友们&#xff0c;这么快又见面啦。前阵子我们给CEO老杨安排了一场年末大讲&#xff0c;主要是跟大家聊聊智能运维的“智”与“能”以及剖析时下热点----运维大模型。后台收到了不少朋友的反馈&#xff0c;小编看了大受鼓舞并暗下决心----新的一年&#xff0c;希望能多安…...

Unity 利用UGUI之Scrollbar制作进度条

在Unity中除了用Slider、Image做进度条&#xff0c;其实用Scrollbar也可以做进度条。 首先&#xff0c;在场景中新建一个Scrollbar组件和一个Text组件&#xff1a; 其次&#xff0c;创建模拟进度的一个脚本&#xff0c;Scrollbar_Progressbar.cs: using System.Collections; …...

MySQL之导入、导出

文章目录 1.navicat导入导出2.mysqldump命令导入导出2.1导出2.2导入 3.load data infile命令导入导出4.远程备份5.思维导图 1.navicat导入导出 使用Navicat工具导入t_log 共耗时 55s 2.mysqldump命令导入导出 2.1导出 导出表数据和表结构 语法&#xff1a; mysqldump -u用…...

【unity小技巧】FPS游戏实现相机的偏移震动、武器射击后退和后坐力效果

最终效果 文章目录 最终效果前言相机偏移震动相机震动脚本换弹节点震动 武器射击后退效果武器后坐力效果完结 前言 关于后坐力之前其实已经分享了一个&#xff1a;FPS游戏后坐力制作思路 但是实现起来比较复杂&#xff0c;如果你只是想要简单的实现&#xff0c;可以看看这个&…...

MINCO+汽车

规划典型的解决方法: 如何准确的描述他的动力学,实际上是对这个物理对象进行建模.(规划等于开环的控制,控制等于闭环的规划),规划系统要做到是假设已知系统模型的情况下去计算一些可能会影响比较好的 未来运动的指令,做未来运动轨迹的推演.对自己建模的情况下还需对环境有个比较…...

大模型机器人发展史:从VoxPoser、RT2到斯坦福Mobile ALOHA、Google机器人

前言 23年7月&#xff0c;我在朋友圈评估Google的RT2说道&#xff1a; “大模型正在革新一切领域啊&#xff0c;超帅&#xff0c;通过大模型不仅能理解“人话”&#xff0c;还能对“人话”进行推理&#xff0c;并转变为机器人能理解的指令&#xff0c;从而分阶段完成任务。回…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...