关于阿里云:阿里云消息队列-Kafka消息检索实践

5次阅读

共计 1999 个字符,预计需要花费 5 分钟才能阅读完成。

作者: Kafka&Tablestore

本文章次要介绍音讯队列应用过程中所遇到的音讯失落、反复生产等痛点问题的排查方法,以及音讯队列 Kafka「检索组件」的场景实际,并对其关键技术进行解读。旨在帮忙大家对音讯队列 Kafka「检索组件」的特点和应用形式更加相熟,以更无效地解决音讯排查过程中所遇到的问题。

场景痛点介绍

在音讯队列的应用过程中,因为其分布式个性难免会遇到音讯失落、音讯重传等问题。

  • 例如在日志聚合场景中,通常是多个异构数据源生产数据到 Kafka 中以提供给上游的 Spark 等计算引擎生产。而当某些日志缺失时,因为音讯数据的发送形式、数据结构等品种繁冗,导致难以间接从客户端的日志来排查。
  • 再例如音讯转发的过程中,生产端可能会反复生产到同样的数据,这就须要依据内容从音讯队列中检索数据以判断音讯是否反复生产,而音讯队列通常只能依照分区和生产位点遍历扫描,并不能灵便的实现音讯检索。

业内现有的音讯队列产品都没有较好的工具和形式来实现对音讯内容的检索,这将使得排查难度和投入老本大大增加。

Kafka 音讯检索组件

检索组件介绍

音讯队列 Kafka「检索组件」是一个全托管、高弹性、交互式的检索组件,具备万亿级音讯内容检索的秒级响应能力,旨在解决业内音讯产品不反对检索音讯内容的难题。音讯队列 Kafka「检索组件」是通过 Kafka Connector 将 Topic 中的音讯数据转存到表格存储(Tablestore)中,基于表格存储的多元索引性能提供音讯检索能力。可能反对通过音讯的分区、位点、发送的工夫范畴等一个或多个条件组合检索,还反对依据音讯 Key、Value 全文检索音讯。

案例实际

案例背景

假如某运维团队须要监控线上集群的运行状况,采集过程级别的日志导入到 Kafka 中,上游应用 Flink 生产,实时计算各过程资源耗费状况。当在 Flink 中发现某个过程的某个时间段的日志数据失落时,须要应用音讯队列 Kafka「检索组件」,基于音讯 Value 和工夫范畴检索音讯数据,判断日志是否曾经胜利推送到了音讯队列 Kafka 中。

例如采集的日志数据为 JSON 构造,某一条日志数据格式为:

key   =  276
value =  {"PID":"276","COMMAND":"Google Chrom","CPU_USE":"7.2","TIME":"00:01:44","MEM":"8836K","STATE":"sleeping","UID":"0","IP":"164.29.0.1"}

开明音讯检索

  1. 首先须要登录到阿里云音讯队列 Kafka 控制台中,抉择对应的 topic,开明音讯检索服务。
  1. 音讯检索服务开明后,将主动创立一个 Tablestore 实例,之后将音讯数据转存到 Tablestore,并创立索引提供音讯检索能力。每一个 topic 对应了 Tablestore 中的一张数据表。能够在音讯队列 Kafka 管制台上查看每个 topic 的音讯检索组件详情。

音讯检索实际

  1. 音讯检索服务开明后,就能够应用音讯中的多个搜寻项检索音讯,实现上述案例。例如指定一个工夫范畴,并且检索音讯 Value 中蕴含 PID = 276 的音讯。
  1. 返回后果示例 

能力扩大

表格存储 Tablestore 介绍

表格存储 Tablestore 是基于底层飞天平台构建的结构化数据存储,可能提供千亿级规模数据存储、毫秒级数据检索的服务能力。音讯队列 Kafka 转存音讯到 Tablestore 后,反对通过 Tablestore 原生的数据拜访形式来检索音讯,Tablestore 反对更简单的检索逻辑,同时反对通过 SQL 语法检索音讯。上面列举两种音讯检索形式:

多元索引搜寻

  1. 登录到表格存储 Tablestore 控制台中,进入 Kafka 音讯数据转存对应的 Tablestore 实例和数据表中,在索引治理页面抉择多元索引搜寻音讯。
  1. 例如须要检索音讯 Value 中蕴含 PID=276 或者 PID=277 的音讯。
  1. 返回后果 

SQL 检索音讯

  1. 表格存储 Tablestore 反对基于 SQL 语法来检索音讯,首先须要在音讯转存的数据表上创立一张 SQL 映射表。
  1. 基于 Tablestore SQL 检索 PID=276 的音讯。

总结

阿里云音讯队列 Kafka「检索组件」是音讯队列畛域率先反对交互式音讯内容检索的组件,基于数据转存表格存储 Tablestore 提供音讯检索服务能力,反对依据 Key、Value、分区等任意个条件自由组合检索音讯,同时反对 Key、Value 全文检索音讯,具备免开发、免运维、高弹性的特点。同时也能够间接通过表格存储 Tablestore 索引或者 SQL 来检索音讯,极大地提高了日常排查音讯存在或正确性的速度。

对于本文中 Tablestore 的多元索引和 SQL 查问应用的局部有任何问题,欢送退出技术交换群,群内提供收费的在线专家服务。欢送扫码退出或搜寻群号 23307953。

点击此处,欢送开明试用音讯队列 Kafka「检索组件」~

正文完
 0