本文介绍如何应用事件总线EventBridge的事件流功能实现消息队列Kafka版的消息路由。

前提条件

背景信息

事件流作为更轻量、实时端到端的流式事件通道,提供轻量流式数据的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据同步。源端消息队列Kafka版生产的消息可以通过事件流这个通道被路由到目标端的消息队列Kafka版,无需定义事件总线。更多信息,请参见事件流概述

支持地域

支持在消息队列Kafka版之间创建事件流的地域有:华东2(上海)、华北2(北京)、华北3(张家口)、中国香港、德国(法兰克福)、新加坡和日本(东京)。

步骤一:在目标端创建事件流

说明 事件流需要在目标端创建,例如如果需要把华北2(北京)的Kafka消息路由到华东2(上海),那么需要在华东2(上海)创建事件流任务。
  1. 登录事件总线EventBridge控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击事件流
  4. 事件流页面,单击创建事件流
    事件流
  5. 创建事件流面板,完成以下操作。
    1. 基本信息配置向导,输入事件流名称和描述,然后单击下一步
    2. 事件源配置向导,选择事件提供方消息队列 Kafka 版,在阿里云服务授权 - VPC对话框,单击确定,配置以下参数,然后单击下一步
      参数 说明 示例
      地域 选择消息队列Kafka版源实例所在的地域。 华北2(北京)
      kafka 实例 选择生产消息队列Kafka版消息的源实例。 MQ_INST_115964845466****_ByBeUp3p
      Topic 选择生产消息队列Kafka版消息的Topic。 topic
      Tag(可选) 配置源实例中用于过滤消息的Tag。 test
      Group ID 选择源实例的消费组名称。请使用独立的消费组来创建事件源,不要和已有的业务混用消费组,以免影响已有的消息收发。 GID_http_1
      并发配额(消费者数) 选择源实例的消费者数。 1
      消费位点 选择开始消费消息的位点。
      • 最新位点:从最新位点开始消费。
      • 最早位点:从最初位点开始消费。
      最新位点
      网络配置 选择路由消息的网络类型。
      • 默认网络
      • 自建公网

        若选择网络类型为自建公网,则需要选择的VPC网络具有公网访问的能力。

      默认网络
    3. 规则配置向导,单击下一步
    4. 目标配置向导,选择服务类型消息队列 Kafka 版,在阿里云服务授权 - VPC对话框,单击确定,配置以下参数,然后单击创建
      参数 说明 示例
      实例ID 选择接收消息队列Kafka版消息的目标实例。 MQ_INST_115964845466****_BYEiGXc4
      Topic 选择目标实例的Topic。 topic
      确认模式 选择目标端消息队列Kafka版接收到数据后给客户端发出的确认信号。
      • None:客户端不需要等待任何确认收到的消息。
      • LeaderOnly:等待Leader成功写入而不等待所有备份是否成功写入。
      • All:等待Leader和所有备份都成功写入。
      LeaderOnly
      消息内容 选择部分事件事件总线EventBridge通过JSONPath提取事件中的数据,将指定的事件内容路由到事件目标。 $.data.value
      消息 Key 选择部分事件事件总线EventBridge通过JSONPath提取事件中的数据,将指定的事件内容路由到事件目标。 $.data.key
  6. 返回事件流页面,找到创建好的事件流,在其右侧操作栏,单击启用
  7. 提示对话框,阅读提示信息,然后单击确认
    启用事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。

步骤二:测试验证

  1. 登录消息队列Kafka版控制台
  2. 在顶部菜单栏,选择步骤一:在目标端创建事件流中源实例所在的地域。
  3. 在左侧导航栏,单击实例列表
  4. 实例列表页面,找到步骤一:在目标端创建事件流中配置的源实例,在其操作列,单击详情
    查看实例详情
  5. 在左侧导航栏,单击Topic 管理
  6. 在Topic列表,单击步骤一:在目标端创建事件流中配置的源实例的Topic名称。
  7. 在Topic详情页面,单击右上角的体验发送消息
  8. 快速体验消息收发面板,选择发送方式控制台,然后配置消息 Key消息内容,单击确定
    收发消息
  9. 在源实例完成生产消息后,返回实例列表页面。
  10. 实例列表页面,找到步骤一:在目标端创建事件流中配置的目标实例,在其操作列,单击详情
  11. 在左侧导航栏,单击Topic 管理
  12. 在Topic列表,单击步骤一:在目标端创建事件流中配置的目标实例的Topic名称。
  13. 在Topic详情页面,单击消息查询
  14. 配置查询方式分区时间点,单击查询
    查询消息
  15. 查看查询到的Key和Value值是否与生产的消息一致。