一种分布式架构多节点消息跟踪系统和方法与流程

文档序号:36334273发布日期:2023-12-13 00:20阅读:20来源:国知局
一种分布式架构多节点消息跟踪系统和方法与流程

本发明涉及分布式架构领域,具体来说是一种主动降噪系统分布式架构多节点消息跟踪系统和方法。


背景技术:

1、分布式架构在交易系统中得到了大量的应用。在设计高可用的证券交易系统时,通常基于可靠组播的通信模式(消息中间件)在多服务之间进行通信,从而保证系统的高可用性,具体架构图如图1所示。其中每个圆点代表一个节点,节点之间通过消息中间件进行消息通信。分布式架构的节点中存在多种服务,如图2所示。由于分布式架构节点数量以及节点中服务个数众多,一条消息在架构中经过的节点和服务数量也十分复杂。因此,一旦存在不符合预期的消息传输,需要耗费大量的时间来查找定位问题。为了应对分布式架构带来的消息跟踪困难问题,以及方便排查各个服务的性能问题,分布式系统的消息跟踪应运而生。

2、分布式架构消息跟踪方法可以描绘分布式系统中的一次完整调用,从系统接收到输入,到数据处理结果的输出都完整体现在分布式消息跟踪之中。该消息跟踪链路可以描述消息经过的每个节点名称、服务名称、消息处理结果、处理时长等。使用此类消息跟踪方法,开发人员可以快速地进行问题定位和性能分析。

3、分布式消息跟踪方法主要分为黑盒跟踪和基于标注的跟踪方法。黑盒跟踪方法无法获取源代码,主要通过收集系统的rpc或者消息日志信息,然后使用统计推断的方式构建消息跟踪链路。黑盒消息跟踪方法的缺点是查询一次链路较长,准确性较差。基于标注的跟踪方法需要改造系统代码,在服务系统调用时标注链路信息,后续通过采集的方式集中存储链路日志,查询时将链路信息结构化并渲染。基于标注跟踪方法对被跟踪系统有一定的侵入性。

4、申请公告号为cn115129491a的中国发明专利公开了一种微服务请求消息跟踪方法、生成方法、装置、介质及设备。该发明是基于微服务的接收端与发送端,未对微服务内部关键逻辑调用进行消息跟踪,这导致了当出现消息故障时,只能定位到哪一个微服务,而不能更进一步的定位到具体的处理逻辑。

5、授权公告号为cn110191000b的中国发明专利公开了一种数据处理方法、消息追踪监控方法和分布式系统,该发明依赖elk日志分析平台收集存储并分析日志,引入了复杂的elk第三方应用,需要搭建日志收集服务,占用了机器资源;并且日志的收集占用了部分网卡资源网络带宽,可能对整个架构系统造成性能影响。


技术实现思路

1、本发明要解决的技术问题是克服现有技术的不足,提供一种不影响主系统性能的前提下实现消息追踪,实现主系统消息流向的透明化,实现时延计算和展示,实现了数据分析的多样化,让技术人员来分析程序是否成功调用各个服务,以及在每个服务/节点花费的时间的分布式架构多节点消息跟踪系统和方法。

2、为了实现上述目的,设计一种分布式架构多节点消息跟踪方法,所述消息跟踪方法包括将唯一标注信息和业务消息一起发送,所述唯一标注信息需同时满足:能够唯一标识一条消息;能够记录消息当前的时间戳;能够记录消息所在的节点和服务;能够记录消息在一个节点或者服务的方向。

3、本发明还具有如下优选的技术方案:

4、1.所述消息跟踪方法还包括跟踪信息的收集独立于被跟踪系统,和被跟踪系统的数据路径解耦。

5、2.所述消息跟踪方法还包括数据分析模块和跟踪数据标注模块解耦。

6、3.所述唯一标注信息包括:topic_id字段,能够唯一表示一类主题的消息,这个唯一性,由静态配置数据保证;node_name字段,表示节点名称,整个分布式架构由多个节点组成,通过该字段可以知道当前在哪个节点上;service_name字段,表示服务和服务之间的一次消息传递,标注消息传递信息在链路中的位置;message_dirc字段,表示消息的方向,是进入某个服务还是从某个服务流出;topic_sequence字段,主题序号,在一个主题内部,值从1开始,每接收到一条消息,都会单调递增加1,不同的主题内部,topic_sequence字段互不影响,通过topic_id字段和topic_sequence字段可以唯一表示一条消息;cluster_sequence字段,表示一条消息经过分布式事物处理服务定序后得唯一序号;time_stamp字段,表示该条标注信息产生的时间,获取的是本主机的时间。

7、还设计一种分布式架构多节点消息跟踪系统,包括消息跟踪信息采集开关,所述消息跟踪信息采集开关用于控制是否进行消息跟踪信息的采集;链路元消息模拟器,所述链路元消息模拟器独立于分布式架构运行,作为交易系统架构消息的来源方以及架构输出消息的接收方;链路消息标注器,通过分布式架构多节点消息跟踪方法构建唯一标注信息;标注消息收集器,将生产者生产的消息同步拷贝至共享内存,然后由另一个进程的消费者异步将内存消息写入到磁盘文件;标注文件解析器,标注消息收集器将每个服务的消息记录文件存在在各自的目录中,每份文件只是一段局部链路信息。

8、优选地,所述消息跟踪信息采集开关通过配置文件设置开关的开启状态,在分布式架构系统的初始中进行配置解析,获取到开关的状态,最终来确定是否进行消息跟踪信息采集。

9、优选地,所述链路元消息模拟器以静态配置文件的方式来设置消息发送的速率,发送的总条数以及发送通道主题的数量。

10、优选地,标注文件解析器以一个集群的所有服务的标签文件作为输入,根据mt算法输出经过所有服务的所有消息的时延以及消息追踪链路,并以主题号命名解析后的文件,所述mt算法的时间复杂度为o(sqt),其中s为打上标注消息服务的个数,q为一个主题发送的消息数量,t为主题的数量,通过上述算法过程,可以得出以主题为名称的文件,该文件包含了一个主题内所有消息的链路信息,包含经过的服务名称、所消耗的时间信息。

11、优选地,还包括标注消息查询器,所述标注消息查询器根据输入消息序号获取到该条消息在整个链路的所有信息;图表报告生成器,所述图表报告生成器将解析后的内容,经过数据处理算法处理后输出,数据处理算法如下:将标注消息采集器采集到的数据序列为s={s1,s2,...,si,...,sn},其中n表示采集到的消息总量,n的数量是有限的,si表示某个特定序号的第i个数据包的标注消息,则可以根据式(1)和式(2)构造改消息序列的时延分布图:

12、(1)

13、(2)

14、其中fj(j=1,2,3...,m)表示某主题序号为j的总时延,fj(si)是序号为j的消息在服务i上的时延。当服务序号为1时,需要与一个常数t做计算,其中t是随着消息序号的增加而变化的,经过算法处理计算后,生成图表,展示单条消息链路的总时延,单条消息下的每个组件的时延、计算节点以及各个服务时延时延分布。

15、本发明同现有技术相比,其优点在于:

16、1.将消息追踪进程与主进程分离,形成旁路追踪系统,在不影响主系统的性能的前提下实现了主系统消息流向的透明化;

17、2.不仅可以实现消息追踪,还能实现时延计算和展示;

18、3.不仅记录到消息进入某个节点的时延,还记录到消息进入到各个服务的时延,有利于后期分析主系统的时延瓶颈,有针对性的对主系统做出优化;

19、4.对记录的标签信息进行多个方式的分析,给出了不同用户关注的数据,实现了数据分析的多样化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1