tencent cloud

文档反馈

SCF + Ckafka 实现消息转储至消息队列 Ckafka

最后更新时间:2022-04-29 10:55:57

    操作场景

    消息队列 CKafka 支持用户转储消息的能力,您可以将 CKafka 消息转储同步转储至消息队列 CKafka,用于 CKafka 集群间的数据同步。

    前提条件

    该功能目前依赖云函数(SCF)、消息队列 CKafka 服务。使用时需提前开通云函数 SCF 相关服务及功能。

    操作步骤

    转储消息

    转储消息队列 CKafka 的方案将使用 SCF 的 CKafka 触发器进行,通过 CKafka 触发器将消息同步至消息队列另一个集群内。

    1. 登录 CKafka 控制台
    2. 在左侧导航栏单击实例列表,单击目标实例的“ID/名称”,进入实例详情页。
    3. 在实例详情页,单击topic管理标签页,单击操作列的消息转储
    4. 单击添加消息转储,选择转储类型为消息队列(CKafka)
      • 转储类型:选择消息队列(CKafka)
      • 转储实例:拉取当前地域的 CKafka 实例列表,如需转储至其他地域或自建 Kafka 请参见 自定义转储设置
      • 转储 Topic:拉取所选实例的 CKafka Topic 信息。
      • 起始位置:转储时历史消息的处理方式,topic offset 设置。
      • 角色授权:使用云函数 SCF 产品功能,您需要授予一个第三方角色代替您执行访问相关产品权限。
      • 云函数授权:知晓并同意开通创建云函数,该函数创建后需用户前往云函数设置更多高级配置及查看监控信息。
    5. 创建完成后,单击提交,即可完成转储创建。创建完成后不会立即开启转储,需在控制台手动开启。

    自定义转储设置

    在通用创建流程中,无法直接跨地域或对自建 Kafka 进行转储,需对函数进行相关网络或投递信息设置。跨地域转储操作流程如下:

    1. 新建 CKafka 转储模板,并跳转到云函数控制台,投递实例及 Topic 可任意填写。

    2. 在函数配置中修改环境变量所属网络配置。

      环境变量配置说明:
      kafka_address :Kafka IP 地址
      kafka_topic_name: Kafka Topic 名称

      说明:

      • 如 CKafka 跨地域转储,修改相关环境变量即可,VPC 网络需配置对等连接
      • 如 CVM 自建 Kafka,需修改为与自建 Kafka 相同的 VPC 及 Kafka Topic 信息。
      • 如其他自建 Kafka,需修改环境变量的 IP 及 Topic 信息为自建信息;如无专线需用云函数公网传输。
    3. 保存相关配置,并开启转储功能可完成转储。

    更多配置说明

    接入方式

    云函数支持 CKafka 的 PLAINTEXTSASL_PLAINTEXT 两种接入方式,可在云函数代码中自行修改。

    • PLAINTEXT 接入方式:
      kafka_to_kafka = KafkaToKafka(kafka_address)
      
    • SASL_PLAINTEXT 接入方式
      kafka_to_kafka= KafkaToKafka(    
      kafka_address    
      security_protocol = "SASL_PLAINTEXT",     
      sasl_mechanism="PLAIN",     
      sasl_plain_username="ckafka-80o10xxx#Taborxx",     
      sasl_plain_password="Taborxxxx",     
      api_version=(0, 10, 2)     
      )    
      
    说明:

    sasl_plain_username 包含实例 ID用户名,使用 # 拼接。

    转储日志查看及排障

    CKafka 转储能力基于 SCF 实现,可在 SCF 日志中查询到相关转储的信息及转储状态。

    产品限制和费用计算

    • 转储速度与 CKafka 实例峰值带宽上限有关,如出现消费速度过慢,请检查 Ckafka 实例的峰值带宽。
    • CKafkaToCKafka 方案采用 CKafka 触发器,重试策略与最大消息数等设置参见 CKafka 触发器
    • 使用消息转储 CKafka 能力,默认转储的信息为 CKafka 触发器的 offset,msgBody 数据,如需自行处理参见 CKafka 触发器的事件消息结构
    • 该功能基于云函数 SCF 服务提供。SCF 为用户提供了一定 免费额度 ,超额部分产生的收费,请以 SCF 服务的 计费规则 为准。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持