作者: 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,开通音讯检索服务。

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

  1. 音讯检索服务开通后,将主动创立一个 Tablestore 实例,之后将音讯数据转存到 Tablestore,并创立索引供给音讯检索才能。每一个 topic 对应了 Tablestore 中的一张数据表。可以在音讯行列 Kafka 操控台上查看每个 topic 的音讯检索组件概况。

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

音讯检索实践

  1. 音讯检索服务开通后,就可以运用音讯中的多个查找项检索音讯,完成上述事例。例如指定一个时刻规划,并且检索音讯 Value 中包括 PID = 276 的音讯。

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

  1. 回来成果示例

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

才能扩展

表格存储 Tablestore 介绍

表格存储 Tablestore 是根据底层飞天平台构建的结构化数据存储,可以供给千亿级规划数据存储、毫秒级数据检索的服务才能。音讯行列 Kafka 转存音讯到 Tablestore 后,支撑通过 Tablestore 原生的数据拜访方法来检索音讯,Tablestore 支撑更复杂的检索逻辑,一起支撑通过 SQL 语法检索音讯。下面罗列两种音讯检索方法:

多元索引查找

  1. 登录到表格存储 Tablestore 操控台中,进入 Kafka 音讯数据转存对应的 Tablestore 实例和数据表中,在索引办理页面挑选多元索引查找音讯。

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

  1. 例如需求检索音讯 Value 中包括 PID=276 或许 PID=277 的音讯。

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

  1. 回来成果

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

SQL 检索音讯

  1. 表格存储 Tablestore 支撑根据 SQL 语法来检索音讯,首要需求在音讯转存的数据表上创立一张 SQL 映射表。

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

  1. 根据 Tablestore SQL 检索 PID=276 的音讯。

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

总结

阿里云音讯行列 Kafka 「检索组件」是音讯行列范畴率先支撑交互式音讯内容检索的组件,根据数据转存表格存储 Tablestore 供给音讯检索服务才能,支撑依据 Key、Value、分区等任意个条件自由组合检索音讯,一起支撑 Key、Value 全文检索音讯,具有免开发、免运维、高弹性的特点。一起也可以直接通过表格存储 Tablestore 索引或许 SQL 来检索音讯,极大地提高了日常排查音讯存在或正确性的速度。

关于本文中 Tablestore 的多元索引和 SQL 查询运用的部分有任何问题,欢迎参加技术交流群,群内供给免费的在线专家服务。欢迎扫码参加或查找群号 23307953。

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

点击此处,欢迎开通试用音讯行列 Kafka「检索组件」~