中原银行SkyWalking落地探索之路及行业内发展方向背景
随着我行双速IT,数字化转型工作的推进,越来越多的行内单体系统正在拥抱微服务,拥抱云原生。但在微服务架构下,通常以业务的维度进行服务划分,一般使用REST的方式进行服务间调用。当对外暴露一个接口时,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,会导致调用失败。随着业务的不断发展扩张,服务之间互相调用会越来越复杂。
我行微服务平台以开源项目SkyWalking(APM应用性能管理)为基础,建立了分布式链路追踪系统,为微服务提供分布式追踪、度量聚合和可视化等一体化解决方案。SkyWalking总体架构分为三部分:
- SkyWalking-oap:链路数据汇总分析,数据可以落地到ElasticSearch、MySQL等
- SkyWalking-ui:web可视化平台,用来展示落地的数据
- SkyWalking-agent:探针,以javaagent的方式无感切入到项目中,收集和发送数据到oap端
其官方架构图如下:
微服务平台针对行内业务开发特性,对原生SkyWalking做了改造:
- 对SkyWalking平台进行了容器化部署,依托Kubernetes平台的云原生能力来减少SkyWalking部署运维成本;
- 通过SkyWalking agent进行业务系统端日志埋点,打通统一日志平台和链路追踪平台数据,实现行内业务流水号和请求链路的关联