订票系统问题定位的解决方案

实践背景

某航空订票系统在线上运行时出现偶发性的故障,系统的请求涉及到多个节点,人工梳理成本较高,运维和开发人员在多个节点中排查问题存在较大的难度。

通过腾讯云的应用性能监控产品友好快速地实现了问题定位。

应用架构

acmeair_zuul:应用系统接入层,作用类似 Nginx,实现后端服务的负载均衡。

acmeair_webapp:应用逻辑处理层,实现订票、查询、值机等具体业务逻辑。

acmeair_auth_service:应用访问控制层,对于不同用户的各种操作进行权限验证。

acmeair_database:应用数据服务层,提供应用数据处理、存储服务。

部署架构

在acmeair_zuul,acmeair_webapp,acmeair_auth_service等节点上部署监控探针,数据发往腾讯云数据接收服务进行统一分析展现。
系统应用健康度评估

通过国际标准的应用性能指数计算公式所得结果评价系统的性能指数(Apdex),Apdex取值为0-1区间,越接近1,越健康,可用于评价系统是否存在严重问题。

交易全链路监控

在acmeair_zuul,acmeair_webapp,acmeair_auth_service等拓扑监控可以实现调用拓扑的自动发现,即真实的订票请求进入后端,后端可以自动生成交易拓扑,实现问题节点的快速分析。从拓扑节点的颜色可以直观评价系统中各个服务的健康度,分别用绿色,橙色,红色表示健康,警告,严重状态。

Web事务代码问题定位

该系统的Web事务列表中发现某个事务健康度较低,下钻查看其缓慢原因

在下钻后的Trace列表中,发现该事务分别在什么时间点发生了缓慢,点击其中一条缓慢发生的时间点下钻:

在详情堆栈中可以定位到缓慢的代码堆栈,最终定位代码问题。

标签