Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它为分布式数据存储提供了多种形式的解决方案。其中的Sharding-JDBC产品在甜橙金融的技术架构中得到了广泛应用,并且在业内已成为最重要的解决方案之一。在使用Sharding-JDBC的过程中,少不了性能测试与运维性能监控的工作。作为Sharding-Sphere开源项目的重要支持者,甜橙金融技术创新中心团队很荣幸的参与并负责解决Sharing-JDBC的应用性能监控问题。本文将针对这个问题,进行Sharding-Sphere与APM之间结合的实践探索。
——前言
1、Sharding-Opentracing简介
Sharding-Opentracing是Sharding-Sphere为大家提供的基于Opentracing规范的APM工具包。它采用发布 - 订阅式的组件通信机制实现了对核心链路方法的跟踪记录,包括sql解析路由方法、sql执行方法和结果归并方法。
Opentracing(https://github.com/opentracing)规范的产生,目的是为了解决不同的分布式追踪系统API不兼容的问题。它是一个轻量级的标准化层,位于应用程序/类库和追踪或日志分析程序之间。
Sharding-Sphere使用Opentracing进行方法的追踪,使得系统开发人员可以方便的添加或替换追踪系统的实现。使用ShardingJDBCTracer类可以方便的完成Tracer的注入。
public final class ShardingJDBCTracer {
/**
* 通过读取系统属性进行注册
* -Dshardingjdbc.opentracing.tracer.class=*****
*/
public static void init() {...}
/**
* 通过方法参数进行注册
*/
public static void init(final Tracer tracer) {...}
}
然后通过事件监听器订阅核心方法事件,完成方法拦截实现方法追踪。目前实现的事件监听器如下:
- SqlRoutingEventListener
Sql路由事件追踪 - ExecuteEventListener
Sql执行事件追踪 - MergeEventListener
Sql执行结果合并事件追踪
2、 基于Opentracing规范的性能追踪——SkyWalking实践
SkyWalking(https://github.com/apache/incubator-skywalking)是由国人大神吴晟创建的一款开源的针对分布式系统的APM系统,它提供了Opentracing标准的支持。下面我们通过SkyWalking来看看如

最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



