本文介绍如何在现有的应用工程中配置数据访问代理连接器。
操作步骤
注意:下列各步骤中的配置仅供参考,您需要根据实际情况进行必要的修改。
1、在工程根目录的 pom.xml 文件中,根据需要添加以下 Maven 依赖:
com.alipay.sofa
dbp-connector-java
1.0.9
2、在 Spring 配置文件中,增加连接器配置和数据源连接池 bean,如下所示:
支持 SQL 链路追踪
dbp-connector 支持 SQL 链路追踪功能,dbp-connector 会将 traceId 通过 MySQL 的自定义 HINT 语法传给 dbpserver,从而打通应用到 dbpserver 的链路,方便通过链路追踪应用快速定位 SQL 执行耗时。
HINT语法格式如下:
/*+DBP: $SYS={TRACE(0a0fe91c1514974353459100919649#0.1)}*/select*fromtest
HINT语法格式说明:
/*+DBP: $SYS={TRACE(TraceId#RpcId)}*/select*fromtest
dbp-connector 会将 SQL 执行信息包括 trace 信息打印在本地日志 sql-digest.log 中。默认情况下,执行时间小于 3ms 且执行成功的 SQL 按照 10/1 的比例抽样打印;执行失败和执行时间大于 3ms 的 SQL 全量打印。
日志格式如下:
2018-06-2023:42:10.280,testApp,0a4192811529509329989100469009,0.1,testDbpInstanceId,dbpclient_db,select*frommars,success,289ms,274ms,15ms,DBP,11.239.141.253:8306,main
日志格式说明:
日志打印时间,AppName,TraceId,RpcId,DBP,dbp实例id,schema,SQL,执行结果(success/failed),执行耗时(ms),链接建立时间,数据库执行时间,DBP,dbp实例Ip,当前线程名
阿里云双机房配置
要求 dbp-connector 的版本号为 1.1.1 及以上。
ODP 阿里云实例的域名格式为:阿里云 ODP 实例 ID(去掉中划线)+zone 按中划线分割的最后一部分.[public.]sofaodp.aliyuncs.com,如 sofaodpojiss8o73o5la.sofaodp.aliyuncs.com。