【技术实现步骤摘要】
基于配置中心的调用链数据采集系统、方法及存储介质
本专利技术涉及计算机
,尤其是涉及一种基于配置中心的调用链数据采集系统、方法及存储介质。
技术介绍
在分布式系统中,一个请求会产生一个调用链,调用链通过全局的TraceID进行关联,记录了请求发生经过的系统和系统间的关系。对服务调用链的跟踪已经是卡中心分布式全栈监控系统中定位问题和性能分析的重要手段。一次完整的调用请求访问多个系统或中间件时会产生多条调用链数据,这些调用链数据包括服务调用服务,服务调用数据库,服务调用Redis,服务调用Kafka,服务调用Rabbitmq。采集调用链数据必须做到配置灵活,支持Plugin模式,支持动态开关,支持数据采样,数据缓冲,接入无感知的功能。1配置灵活调用链数据来源于不同的服务,采集端在配置调用链采集配置时还可以针对不同的服务配置是否开启数据采集。采集配置包括:采集功能全局开关,采样率配置,数据输出的kafkatopic,单条消息最大字节数,数据输出线程数,数据输出队列最大Span数,数据输出队列最大字节数,数据输出开关,数据输出kafka地址,不同服务的采集开关。不同服务的采集开关包括:数据库jdbc调用链开关,Redis调用链开关,Kafka调用链开关,Rabbitmq调用链开关。通过这些配置可以更加灵活的使用采集端的功能。2支持Plugin模式采集不同服务的调用链数据需要不同的实现,采集端基于io.zipkin.brave框架做扩展分别实现了http调用链,DB调用链,Redi ...
【技术保护点】
1.一种基于配置中心的调用链数据采集系统,其特征在于,该系统包括:/n配置定义模块,用于定义从Apollo配置中心映射得到的配置信息;/n对象装配模块,用于根据所述配置定义模块中的配置完成调用链采集端所需类的装配;/n配置刷新模块,用于从Apollo配置中心接收配置变更事件,实时刷新本地配置信息并重新装配调用链采集端所需的类;/n数据采集模块,用于拦截调用请求进行链路数据采集,并设置链路中包含的数据字段;/n数据输出模块,用于将最终形成的链路数据发送至Kafka数据总线。/n
【技术特征摘要】
1.一种基于配置中心的调用链数据采集系统,其特征在于,该系统包括:
配置定义模块,用于定义从Apollo配置中心映射得到的配置信息;
对象装配模块,用于根据所述配置定义模块中的配置完成调用链采集端所需类的装配;
配置刷新模块,用于从Apollo配置中心接收配置变更事件,实时刷新本地配置信息并重新装配调用链采集端所需的类;
数据采集模块,用于拦截调用请求进行链路数据采集,并设置链路中包含的数据字段;
数据输出模块,用于将最终形成的链路数据发送至Kafka数据总线。
2.根据权利要求1所述的一种基于配置中心的调用链数据采集系统,其特征在于,所述的配置定义模块包括:
链路功能开关配置子模块,用于配置链路功能是否开启,对应数据是否输出;
服务采集开关配置子模块,用于配置是否采集调用对应服务的链路数据;
数据采样配置子模块,用于配置io.zipkin.brave框架以实现对不同服务客户端方法的拦截并生成调用链数据;
数据输出配置子模块,用于配置数据输出的Kafka地址,对应数据是否输出。
3.一种采用如权利要求1所述的基于配置中心的调用链数据采集系统的调用链数据采集方法,其特征在于,该方法包括以下步骤:
步骤1:于所述配置定义模块中定义从Apollo配置中心映射得到的配置信息;
步骤2:利用所述对象装配模块根据所述配置定义模块中的配置完成调用链采集端所需类的装配;
步骤3:利用所述配置刷新模块,当其从Apollo配置中心接收配置变更事件,实时刷新本地配置信息并重新装配调用链采集端所需的类;
步骤4:利用所述数据采集模块拦截调用请求进行链路数据采集,并设置链路中包含的数据字段,形成最终链路数据;
步骤5:基于所述数据输出模块将最终形成的链路数据发送至Kafka数据总线,至此调用链数据采集完毕。
4.根据权利要求3所述的一种采用所述的基于配置中心的调用链数据采集系统的调用链数据采集方法,其特征在于,所述的步骤1中的配置定义模块包括:
链路功能开关配置子模块,用于配置链路功能是否开启,对应数据是否输出;
服务采集开关配置子模块,用于配置是否采集调用对应服务的链路数据;
数据采样配置子模块,用于配置io.zipkin.brave框架以实现对不同服务客户端方法的拦截并生成调用链数据;
数据输出配置子模块,用于配置数据输出的Kafka地址,对应数据是否输出。
5.根据权利要求3所述...
【专利技术属性】
技术研发人员:李虎,曾毅峰,刘佳利,夏海虎,
申请(专利权)人:上海浦东发展银行股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。