首页 > 其他分享 >云消息队列 Kafka 版生态谈第一期:无代码转储能力介绍

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

时间:2024-01-04 18:01:07浏览次数:28  
标签:存储 队列 OSS 转储 Kafka Connector 消息

作者:娜米

云消息队列 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 中。这样可以实现数据的持久化存储,确保数据不会因为函数计算的瞬时性而丢失。

代码转储产品能力介绍

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

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。

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

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

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

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

步骤三:测试 OSS Sink Connector

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

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

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

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

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

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

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

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

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

在对应 Object 右侧操作列,选择

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

 > 下载。

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

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

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

相关链接:

[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 公测正式开启!

标签:存储,队列,OSS,转储,Kafka,Connector,消息
From: https://blog.51cto.com/u_13778063/9103472

相关文章

  • 【flink番外篇】6、flink的WaterMark(介绍、基本使用、kafka的水印以及超出最大允许延
    文章目录Flink系列文章一、watermark介绍1、watermark介绍2、Watermark策略简介3、使用Watermark策略4、处理空闲数据源5、自定义WatermarkGenerator1)、自定义周期性Watermark生成器2)、自定义标记Watermark生成器6、Watermark策略与Kafka连接器7、算子处理Watermark......
  • 【微服务】springboot整合kafka-stream使用详解
    目录一、前言二、kafkastream概述2.1什么是kafkastream2.2为什么需要kafkastream2.2.1对接成本低2.2.2节省资源2.2.3使用简单2.3kafkastream特点2.4kafkastream中的一些概念2.5 KafkaStream应用场景三、环境准备3.1搭建zk3.1.1自定义docker网络3.1.2 拉取zk镜像3.......
  • 【C++】STL 容器 - priority_queue 优先级队列容器 ( 容器简介 | 容器操作性能分析 |
    文章目录一、priority_queue优先级队列容器1、priority_queue优先级队列容器简介2、priority_queue优先级队列容器操作性能分析二、代码示例-priority_queue优先级队列容器1、默认优先级队列容器2、最大值优先级队列3、最小值优先级队列一、priority_queue优先级队列容器......
  • 【C++】STL 容器 - queue 队列容器 ( queue 容器简介 | queue 容器特点 | push 函数 |
    文章目录一、queue队列容器简介1、queue队列容器引入2、queue队列容器特点二、queue队列常用api函数1、队尾插入函数-queue#push函数2、队头删除函数-queue#pop函数3、获取队首元素-queue#front函数一、queue队列容器简介1、queue队列容器引入queue队列容......
  • 从生活聊用消息队列的利弊 | 8月更文挑战
    为什么要选择消息队列?消息队列有什么优点?消息队列会带来哪些问题?消息队列的优点疫情当下,为了更好的防疫工作,食堂不再提供堂食,同学们需要把食物打包回公司吃,在公司吃跟堂食的区别是什么呢?然后小豆需要统计产品线需要带饭的有哪些人,负责把饭菜统一打包带回来。产品线主要划分三部分:设......
  • ASR项目实战-任务队列在文件转写特性中的应用
    转写时长超出60秒的语音文件,业界的竞品通常会使用创建异步转写任务的方式来提供支持。一个简单、直接的实现方案,即:网关服务接收到来自客户的转写请求时,将任务信息持久化至任务队列中。由算法服务的实例从任务队列中提取任务,并执行转写操作。待执行完毕之后,将转写结果保存至DB......
  • 7.Kafka,构建TB级异步消息系统
    1.阻塞队列BlockingQueue解决线程通信的问题。阻塞方法:put、take。生产者消费者模式生产者:产生数据的线程。消费者:使用数据的线程。实现类ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueue、SynchronousQueue、DelayQueue等。 面试题:写一......
  • debezium+kafka实现mysql数据同步(debezium-connector-mysql)
    1.情景展示在企业当中,往往会存在不同数据库之间的表的数据需要保持一致的情况(数据同步)。如何将A库a表的数据同步至B库a表当中呢?(包含:新增、修改和删除)往往不仅仅需要保持数据的一致性,还要保证数据的即时性,即:A库a表的数据发生变化后,B库a表也能立刻同步变化。实时保持两表数据......
  • Kafka-基本介绍和常见问题
    1、kafka1.1、kafka介绍​kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的消息队列系统。 1.2、kafka相比其他消息队列的优势常见的消息队列:RabbitMQ,Redis,zeroMQ,ActiveMQkafka的优势:1) 可靠性:分布式的,分区,复制和容错的。......
  • kafka消费中文显示为乱码
    1.情景展示如上图所示,在windows操作系统当中,当我使用消费主题的命令进行数据消费时,存在kafka当中的消息含有的中文,最终展示为乱码。kafka-console-consumer.bat--bootstrap-serverlocalhost:9092--topictopic-xxx-63.库名.表名--from-beginning这是怎么回事?如何解决?2......