详情页标题前

腾讯云云函数(SCF)CKafka 触发器说明-云淘科技

详情页1

用户可以编写云函数来处理 CKafka 中收取到的消息。云函数后台模块可以作为消费者消费 CKafka 中的消息,并将消息传递给云函数。CKafka 触发器具有以下特点:Pull 模型:云函数的后台模块作为消费者,连接 CKafka 实例并消费消息。在后台模块获取到消息后,会将消息封装到数据结构中并调用指定的函数,将消息数据传递给云函数。同步调用: CKafka 触发器使用同步调用类型来调用函数。有关调用类型的更多信息,请参见 调用类型。说明对于运行错误(含用户代码错误和 Runtime 错误),CKafka 触发器会按照您配置的重试次数进行重试。默认重试10000次。对于系统错误,CKafka 触发器会采用指数退避的方式持续重试,直至成功为止。

CKafka 触发器属性

CKafka 实例:配置连接的 CKafka 实例,仅支持选择同地域下的实例。Topic:支持在 CKafka 实例中已经创建的 Topic(仅支持未创建 ACL 策略的 Topic)。最大批量消息数:在拉取并批量投递给当前云函数时的最大消息数,目前支持最高配置为10000。结合消息大小、写入速度等因素影响,每次触发云函数并投递的消息数量不一定能达到最大值,而是处在1 – 最大消息数之间的一个变动值。起始位置:触发器消费消息的起始位置,默认从最新位置开始消费。支持最新、最开始、按指定时间点三种配置。重试次数:函数发生运行错误(含用户代码错误和 Runtime 错误)时的最大重试次数。

CKafka 消费及消息传递

由于 CKafka 消息无主动推送能力,需要消费方通过拉取的方式,拉取到消息并进行消费。因此,在配置 CKafka 触发器后,云函数后台会通过启动 CKafka 消费模块,作为消费者,并在 CKafka 中创立独立的消费组进行消费。云函数后台的消费模块在消费到消息后,会根据一定的超时时间累积消息数量大小最大批量消息数等信息,组合为事件结构并发起函数调用(同步调用)。相关限制说明如下:超时时间:目前云函数后台的消费模块的超时时间为60秒,避免时延过长才进行消费。例如,Ckafka Topic 的消息写入很少,消费模块在60秒内没有凑够最大批量消息数的消息,则依然会发起函数调用。同步调用的事件大小限制:6MB,详情请参见 限制说明。如果 Ckafka Topic 的消息很大,例如单条消息就已经达到6MB,那么由于同步调用的6MB限制,所以传递给云函数的事件结构中只会有一条消息,而不是用户配置的最大消息个数。最大批量消息数:同 CKafka 触发器属性,由用户设置,目前支持最高配置为10000。云函数后台的消费模块会循环这个过程,且会保证消息消费的顺序性,即前一批消息消费完(同步调用),再进行下一批消息的消费。说明在这个过程中,每次组合的消息数量不一定相同,即每个事件结构内的消息个数在1 – 配置的最大消息个数之间。如果配置的最大消息数过大,有可能出现事件结构内的消息个数始终不会达到最大消息数的情况。在云函数中获取到事件内容后,可选择循环处理的方式,确保每一条消息都得到处理,而不应假定每次传递的消息个数均是恒定的。

CKafka 触发器的事件消息结构

在指定的 CKafka Topic 接收到消息时,云函数的后台消费者模块会消费到消息,并将消息组装为类似以下的 JSON 格式事件,触发绑定的函数并将数据内容作为入参传递给函数。

{  "Records": [    {      "Ckafka": {        "topic": "test-topic",        "Partition":1,        "offset":36,        "msgKey": "None",        "msgBody": "Hello from Ckafka!"      }    },    {      "Ckafka": {        "topic": "test-topic",        "Partition":1,        "offset":37,        "msgKey": "None",        "msgBody": "Hello from Ckafka again!"      }    }  ]}

数据结构内容详细说明如下:

结构名 内容
Records 列表结构,可能有多条消息合并在列表中
Ckafka 标识事件来源为 CKafka
topic 消息来源 Topic
partition 消息来源的分区 ID
offset 消费偏移编号
msgKey 消息 key
msgBody 消息内容

常见问题

CKafka 消息堆积了很多该如何处理?

在您配置 CKafka 触发器后,云函数后台会通过启动 CKafka 消费模块作为消费者,在 CKafka 中创立独立的消费组进行消费,且消费模块的数量等于 Ckafka Topic 的分区(partition)数量。如果堆积了很多 Ckafka 消息,则需要提升消费能力。提升消费能力有以下方法:增加 Ckafka Topic 的分区数。云函数的消费能力正比于分区数量,云函数后台的 CKafka 消费模块会自动匹配 Ckafka Topic 分区数,即可以通过增加分区来提升消费能力。优化云函数的运行时间。云函数的运行时间越短,消费能力就越强。若云函数的运行时间变长(例如,云函数内需要写 DB,DB 的响应变慢),则消费速度就会下降。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/149544.html

(0)
上一篇 2023年12月9日 下午1:21
下一篇 2023年12月9日 下午1:21
详情页2

相关推荐

  • 腾讯云云函数(SCF)步骤 2. 测试及启动云函数-云淘科技

    前提条件 完成函数创建后,我们就可以测试函数的运行情况,并完成最终的定时触发配置。注意dump 目录只能设置为 /tmp ,因为运行环境内除 /tmp 目录下,其他均限制为只读。 测试及启动云函数 通过单击控制台下方的测试按键,可以直接触发函数运行。通过函数的输出日志,可以查看代码的运行情况,检查 dump 文件是否生成正常,是否成功上传到 COS 存储桶中…

    腾讯云 2023年12月9日
  • 腾讯云云函数(SCF)云 API 触发器-云淘科技

    概述 用户可以编写 SCF 函数来处理自身业务逻辑,并通过 SCF 暴露的管理接口来触发云函数。管理接口在腾讯云中统一称为云 API。通过使用 SCF 云 API 中的 Invoke 接口,用户可以按需触发调用云函数。n详细的云 API 接口调用方法可见 运行函数 API 文档。云 API 触发器具有以下特点:调用模式可选:可根据 InvocationTyp…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云云函数(SCF)示例说明-云淘科技

    实现场景 数据库备份通常是 DBA 每天要进行的工作。对数据库进行备份,可以在数据错误、数据库异常等有需要时及时进行数据回滚。最常用的方式是使用 crontab 定时任务,每日调用备份脚本进行数据库备份。而在备份脚本中,通常最方便使用的是 mysqldump 工具,导出表结构及表数据。n接下来,我们将利用云函数,实现数据库备份能力,然后通过配置定时触发器,确…

    腾讯云 2023年12月9日
  • 腾讯云云函数(SCF)环境说明-云淘科技

    PHP 版本选择 云函数 SCF 目前支持的 PHP 开发语言包括如下版本:PHP 8.0PHP 7.4PHP 7.2PHP 5.6您可以在函数创建时,选择您所期望使用的运行环境,PHP 8.0、PHP 7.4、PHP 7.2 或 PHP 5.6。 相关环境变量 目前 PHP 8.0、PHP 7.4 运行环境中内置的 PHP 相关环境变量见下表: 环境变量 …

    腾讯云 2023年12月9日
  • 腾讯云云函数(SCF)发布版本-云淘科技

    操作场景 在完成云函数的配置、提交代码并通过在线测试后,您可以通过发布版本的方式,固化云函数的版本,避免后续因修改代码和测试引起在线业务错误或执行失败。您可以随时发布版本,云函数任何一次的版本发布都将 $LATEST 版本发布为最新版本。 操作步骤 说明云函数在创建时就具备 $LATEST 版本的属性。$LATEST 版本指向目前可编辑的版本,且始终保持存在…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。