【技术实现步骤摘要】
一种分布式跟踪系统的实时数据分析引擎
本专利技术涉及分布式应用程序
,尤其是涉及了一种分布式跟踪系统的实时数据分析引擎。
技术介绍
典型的分布式跟踪系统主要由3个部分组成:数据收集、数据存储、数据展示。根据分布式系统的大小不同,每一部分的结构又还会根据实际情况进行相应的变化。例如,对于大规模分布式系统而言,数据存储可分为实时数据和全量数据两部分,实时数据用于故障排查(TroubleShooting),全量数据用于系统优化;数据收集除了支持平台无关和开发语言无关系统的数据收集,还包括异步数据收集;数据展示涉及到数据的挖掘与分析。分布式跟踪系统使用户能够通过分布在多个应用程序、服务和数据库以及代理等中介上的软件系统来进行跟踪请求。这样做的好处是可以更深入地了解软件系统中发生的情况。这些系统生成图形表示,显示请求步骤和花费的时间资源。现代微服务体系结构技术的最新进展使构建大规模分布式应用程序成为可能。通过利用大量协作的服务节点以分散的方式,应用程序可以潜在地实现高可伸缩性、可用性、可靠性和QoS/性能。分布式跟踪系统 ...
【技术保护点】
1.一种分布式跟踪系统的实时数据分析引擎,包括数据处理模块及与数据处理模块连接的数据采集模块和数据分析模块,其特征在于所述的数据采集模块和数据处理模块通过数据接收模块连接,数据接收模块和数据处理模块之间采用Kafka集群作为中间层,数据采集模块包括一组数据采集节点,数据接收模块包括一组数据接收节点,所述Kafka与数据接收模块中的数据接收节点之间采用异步传输方式,使用来自Kafka集群的服务调用数据来统计特定时间间隔内每个URL访问的响应时间,数据处理模块采用基于时间窗口的数据预聚合,通过比较响应时间对应的字段,进行数据聚合,并将新数据添加到聚合的结果中,数据预聚合的结果存 ...
【技术特征摘要】
1.一种分布式跟踪系统的实时数据分析引擎,包括数据处理模块及与数据处理模块连接的数据采集模块和数据分析模块,其特征在于所述的数据采集模块和数据处理模块通过数据接收模块连接,数据接收模块和数据处理模块之间采用Kafka集群作为中间层,数据采集模块包括一组数据采集节点,数据接收模块包括一组数据接收节点,所述Kafka与数据接收模块中的数据接收节点之间采用异步传输方式,使用来自Kafka集群的服务调用数据来统计特定时间间隔内每个URL访问的响应时间,数据处理模块采用基于时间窗口的数据预聚合,通过比较响应时间对应的字段,进行数据聚合,并将新数据添加到聚合的结果中,数据预聚合的结果存储在Redis缓存中,提取数据汇总结果并存储,同时删除Redis缓存中的数据。
2.如权利要求1所述的一种分布式跟踪系统的实时数据分析引擎,其特征在于所述Kafka中的消息被封装到一个ProducerRecord结构中,所述ProducerRecord结构包括Topic、Parition、Key、Value和Timestramp字段,其中Topic、Parition字段用于决定消息将被存储的位置,Key用于计算分区值,使用唯一标识符TraceId标识Key。
3.如权利要求1所述的一种分布式跟踪系统的实时数据分析引擎,其特征在于数据采集节点与数据接收节点之间使用推/拉模式的ZeroMQ消息传输机制,每个数据采集节点生成的消息被推到消息传输队列中,数据接收节点从消息队列中接收消息。
4.如权利要求1所述的一种分布式跟踪系统的实时数据分析引擎,其特征在于数据采集节点和数据接收节点之间,使用一组HAProxy负载均衡器,负载均衡器配置Keepalived增加备用负载均衡器节点的数量。
5.如权利要求1所述的一种分布式跟踪系统的实时数据分析引擎,其特征在于多线程并发访问时,服务器收到客户端的打开事务状态命令时,服务器设置一个标志用于指示事务状态。
6.如权利要求1所述的一种分布式跟踪系统的实时数据分析引擎,其特征在于所述数据分析模块采用Redis缓存,直接查询上下游节点的数据,通过使用数据字段分析数据关联来还原微服务的调用拓扑,数据字段包括:AgentId、Trac...
【专利技术属性】
技术研发人员:汪烨,陈骏武,姜波,
申请(专利权)人:浙江工商大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。