基于微服务的实时调用链跟踪方法技术

技术编号:21438127 阅读:43 留言:0更新日期:2019-06-22 13:49
一种基于微服务的实时调用链跟踪方法,本发明专利技术采用调用关系数据结构,将分布式缓存以及数据库客户端监控纳入到微服务调用链体系,通过在业务日志中植入traceID,将调用链的业务信息串联,用于在复杂的调用中,把一个个调用嵌套关系梳理清楚。通过这个系统可以大大提升定位生产问题的效率,并且可以通过分析微服务调用链上每个环节的性能信息,提升开发运维人员对于系统的理解能力,从而可以更好的优化改进系统。

【技术实现步骤摘要】
基于微服务的实时调用链跟踪方法
本专利技术属于通信
,涉及一种基于微服务的实时调用链跟踪方法。
技术介绍
目前微服务已经成为IT互联网技术中非常火的名词,微服务架构的思想就是将整体业务,根据业务领域拆分成一个个独立的模块。每个微服务模块独立部署,微服务之间的关系是松耦合的。微服务的这些特性注定了微服务架构天生是一个分布式架构,微服务模块之间通过拆分后的接口进行交互,并且是无状态的服务。在这种架构下,一个完整的业务流程很可能会经过多个微服务的处理和转发。所以在我们日常的业务中经过会遇到以下的一些场景:1、用户在某APP上下单购买某个产品失败,到底是APP界面调CRM系统出错了,还是APP调柜台系统出错了,亦或是APP调CRM系统,CRM再调柜台出错了;2、用户在办理某项业务时,总会有一定比例的失败,那是否是某个微服务集群中的某个节点出现了问题;3、在某次微服务的调用中,对于数据层的访问性能很差,想知道是访问缓存服务器(例如Redis)性能出了问题,还是访问关系型数据库(例如MYSQL)时某条SQL执行时间过长?现有技术中,业务请求的完成要调用不同服务器上的多个子系统的服务,被调用本文档来自技高网...

【技术保护点】
1.一种基于微服务的实时调用链跟踪方法,其特征在于:包括以下步骤:

【技术特征摘要】
1.一种基于微服务的实时调用链跟踪方法,其特征在于:包括以下步骤:、在每次服务发起时会生成一个全局唯一的traceID,并在链路调用过程中,traceID会传递到每个链路环节,通过这个traceID将每个孤立的调用串联起来,调用链跟踪流式计数器应用将相同traceID的日志信息收集到一起,计算整个链路的耗时与调用次数和各个链路环节的耗时与调用次数,并写入Hbase,生成调用链追踪日志,用于链路追踪与性能优化;、通过调用链的深度和广度信息,获取微服务调用的时序层次信息,并且识别循环嵌套调用;调用链路中每个链路节点都会生成一个chainID,用于区分调用链中调用顺序与嵌套层次;、改造微服务RPC框架,在调用时将traceID以及chainID进行传递,在服务端收到请求后将traceID设置到ThreadLocal中,同时根据传过来的父链路chainID,生成表示该链路顺序和嵌套关系的chainID;、改造微服务RPC框架中提供了获取traceID的接口,让开发者随时获取当前线程访问中的traceID,用于定位问题。2.根据权利要求1所述的基于微服务的实时调用链跟踪方法,其特征在于:所述调用链追踪日志的生成,是在RPC框架中采用添加过滤器类收集监控消息格式数据,并异步发往kafka消息队列,通过kafka的哈希算法将相同traceID发往同一个kafkapatition,使得调用链中各个接口的监控日志都发往同一个地方,为后续...

【专利技术属性】
技术研发人员:吴俊
申请(专利权)人:苏州人之众信息技术有限公司
类型:发明
国别省市:江苏,32

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1