稳定性建设-交易中台-故障sop

 

目录

准备工作

check

检查项

备注

 

检查是否在上下游的问题反馈群中,如若不在请联系 @韩建起 、oulong、lichuangjian、zhengyin02及时加入

  1. 【旅游故障处理群】旅游开发

  2. 【业务问题反馈】【境内度假-门票】问题反馈群-唯一

  3. 【业务问题反馈】门票交易/境内度假交易中台问题反馈群

  4. 【业务问题反馈】小程序地推问题反馈群

  5. 【直连】直连问题反馈/解决群

  6. 【收银台】支付平台业务方技术对接

  7. 【哥伦布】哥伦布客户端使用群

  8. 【风控】风控tatooine客户群

  9. 【平台用户中心】MT用户中心-客户群

  10. 【平台订单中心】美团订单中心问题咨询

  11. 【常旅客】平台常旅客沟通群

  12. 【潘多拉和酒旅红包】酒旅营销平台技术沟通群

  13. 【交易故障应急】交易故障应急群

  14. 【DBA】度假交易DBA沟通群

  15. 【Squirrel】交易Squirrel

  16. 【Mafka】Mafka酒旅运维群

  17. 【Cellar】Cellar-旅游酒店

  18. 【SRE】旅游SRE

  19. 【微信群】境内度假大家庭

  20. 【微信群】境内故障应急群

  21. 【微信群】度假故障应急群

  22. 【基础组件】值班表

度假交易中台RD日常值班内容

 

检查公司VPN是否能正常使用(在家值班额外关注)

参考:

  1. IT软件-标准软件-VPN+VPN+VPN客户端安装使用文档

  2. (旧文档)公司办公网商用SSLVPN服务使用指南

 

检查使用的基础组件和工具平台(服务治理、监控运维、消息队列等)是否有权限

  1. OCTO服务治理APPKEY权限 OCTO

  2. PLUS发布平台权限(以防扩容时无法发布) PLUS

  3. OPS服务树权限,确保可以登录组内机器,收到机器报警 OPS

  4. DBA平台权限 DBA

  5. GALAXY平台权限http://galaxy.stat.sankuai.com/

  6. Cellar管理平台权限 Cellar

  7. Squirrel管理平台权限Squirrel

  8. 消息平台各消息是否权限 MQ

  9. 平台订单中心http://mis.sankuai.com/mis/ordercenter

    如不可用请使用http://admin-ordercenter.wpt.st.sankuai.com/

  10. solution平台订单修复工具权限 Solution

  11. error日志报警权限,在ops报警组添加

  12. crane中的任务权限

  13. 假期DBA权限,plus权限申请怎么办?

以上没有权限可找各组负责人进行添加

 

提前检查是否能收到报警(大象、短信、电话、邮件),电话畅通随时保持联系

无法收到报警联系对应系统负责人

值班期间手机不要停机,不要开飞行模式

 

检查是否已经可以登录组内所有机器,使用系统日志查看、数据库查询等

跳板机参考:新美大跳板机使用指南-北京

怎么看

分类

细分项

关键指标

备注

大盘类

CAT-交易业务大盘

  1. 支付/下单比

  2. 出票/支付比

  3. 出票成功量

  4. 出票失败量

  5. 出票延迟数量

  6. 核销成功量

重点关注

天网门票业务大盘

关键业务指标及接口TP90&TP99

重点关注

售后业务监控大盘

 

 

订单预测

 

 

门票交易nginx监控

  1. 5xx数量

  2. 4xx数量

 

监控平台



CAT

P0、P1,P2报警

Problem(Error、Long-Service)

Transaction(QPS、TP999)

接口调用量(异常QPS)

直连商家收单监控 (是否还有效)

CAT文档

重点关注P0,P1报警

Falcon

视情况而定一般用于Cat无法满足的场景

主机(CPU、IO、MEN、NET)

宿主机

JVM(Thread、GC)

falcon指标说明

重点关注P0,P1报警

OCTO

error日志分析

流量来源分析

节点管理,流量配比,一键扩容等

 

MQ

消息生产&消费堆积情况,现有交易中台topic汇总

调整积压报警阈值和报警接收人

DBA

meilv库、trip-order库

主从延迟,慢查询

调整超时和连接池大小

FDP

下单、申请支付、出票等场景的失败比例和抽样订单

看能不能收到 fdp 的告警

其他

大象

  1. 网络割接

  2. 网络抖动

  3. 公司各平台发出的通报,需要关注是否对自己的服务有影响,及时响应,保证准备工作中所有的群都没有屏蔽

公司平台各个群

短信

P0,P1报警

 

怎么做

workflow

操作工具和平台

工具平台

应对那些问题

如何操作

备注

OCTO

禁用节点流量

 

 

 

调整节点流量

 

 

 

thrift接口限流

 

必须指定被限流业务方的appkey

 

调整机房流量分配

 

 

 

一键扩容机器

 

 

 

hulk自动扩容机器

 

 

mbop

分等级业务降级

  1.  访问mbop

  2. 选择相关服务项目

  3. 根据需要选择 熔断降级 或 流量控制

  4. 针对相关接口执行处理

 

熔断降级与流控操作简介

 

分等级接口降级

 

核心http接口限流

 

优惠精细化降级

故障处理SOP-潘多拉故障

 

solution

使用详情参考:solution-修复工具使用说明

按时间段修复出票延迟订单,对应修复场景:

  1. mtp,直连订单的订单状态卡到支付确认成功而未出票的情况;

  2. 直连单,直连侧已经出票,交易侧订单状态是支付待确认(即直连支付回调失败或者没支付回调)而未出票的情况;

  3. 直连单,直连侧未出票(未收到我们的直连支付请求),交易侧订单状态是支付待确认从而未出票的情况

1、登录solution网址:http://solution.trip.sankuai.com/solution/query/ordercenter

2、选择15修复项,输入订单号,多个订单号中间以逗号隔开;

3、单击提交后,进入solution中的订单详细查询中,查看该订单的状态为成单,则修复成功;

修复工具直接调用的是order项目的miniflow机器即:dx-trip-trade-order03@10.32.78.162

 

按订单号修复出票延迟订单,修复场景同上;

1、登录solution网址:http://solution.trip.sankuai.com/solution/query/ordercenter

2、选择17修复项,输入响应的时间;(时间段跨度不超过一天)

3、单击提交后,登录miniflow机器,搜索日志“按时间维度修复”,查看需要修复的订单,然后在solution中确定该订单的状态为成单,则修复成功;

修复工具直接调用的是order项目的miniflow机器即:dx-trip-trade-order03@10.32.78.162

 

修复核销,中台核销成功,业务线核销失败

 

 

 

修复核销流水

 

 

 

退款相关问题

 

 

【推荐】 solution

美团订单中心【暂不可用】

美团订单中心【临时】

点评订单中心

修复订单未推送美团/点评订单中心问题

  1. 按订单号补单

  2. 按userid补单

  3. 按时间段补单

 

 

常用工具和平台

 

 

 

 

应急手段

优先级高低代表紧急程度和影响范围,颜色代表出现概率

优先级

应急手段

应对场景

如何操作

操作后影响

P0

调整节点流量

单节点压力过大,比如

1)流量不均衡,单节点流量过大

2)GC严重

3)CPU等资源压力大

 

P0

禁用节点流量

单节点故障,比如

1)节点挂了

2)未知原因接口出错率持续很高

2)GC异常严重

3)线程block严重等

 

P0

重启Java进程

单节点异常,比如

1)GC异常,需要重启

2)线程block较多,需要重启等

plus.yun.sankuai.com

 

P0

关闭Java进程

节点故障,比如单个机器未知原因失败率升高

plus.yun.sankuai.com

命令行关闭:切换到sankuai账号下,sudo svc -d ${serviceName}

 

P1

一键扩容机器

接口流量过大,超出处理能力,集群负载过高;

如果集群已经处于不可用状态,先限流再扩容

 

P1

按时间段修复出票中订单

收银台和直连都回调了回来,但是出票失败

http://solution.trip.sankuai.com/solution/query/ordercenter

使用详情参考:solution-修复工具使用说明

 

P1

按订单号修复出票中订单-1

发起了直连支付,但是直连没有回调回来或者回调失败,导致的未出票

没有发起直连支付,导致的未出票

http://solution.trip.sankuai.com/solution/query/ordercenter

 

使用详情参考:solution-修复工具使用说明

用户无法下单

P2

thrift接口限流

接口流量过大,超出处理能力,集群负载过高

 

 

P2

一键降级门票订单详情

  1. DB负载过高

  2. 集群负载过高,超过10分钟未定位具体原因

两种可行操作:建议第二种

  1. 降级打开: https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.order&env=prod

  2. 流量控制:https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

用户无法看订单详情

P2

一键降级填单页优惠入口

  1. 潘多拉、酒旅红包服务不可用

  2. 集群负载过高,超过10分钟未定位到具体原因

红包与潘多拉同时降级:

https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

 

 

用户无法使用优惠

是否需要降级文案?

P2

一键降级潘多拉优惠入口

  1. 潘多拉 服务不可用

  2. 潘多拉优惠导致集群负载过高,超过10分钟未定位到具体原因

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.order&env=prod

 

P2

一键降级酒旅红包优惠入口

  1. 酒旅红包 服务不可用

  2. 酒旅红包 优惠处理导致集群负载过高,超过10分钟未定位到具体原因

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.order&env=prod

 

P2

一键降级限购功能

检索服务完全不可用

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.tradeplatform.tradecenter&env=prod

商家限购功能失效

P2

一键降级门票锁库存

锁库存接口完全不可用

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.tradeplatform.tradecenter&env=prod

(其他业务线在 lv3-高 分组中)

门票不校验库存

P2

抢购保护

  1. 填单页

  2. 提交订单

  1. 单机超过QPS超过20,进行限流保护,自动触发

  2. 根据dealId进行指定限流,手动开关(抢购商品的deal能否收集到,需要找pm确认)

https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

随机拒流

抢购商品的deal能否收集到

P2

Level-1 业务降级

集群负载过高,或者DB负载过高,超过5分钟未定位具体原因

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.order&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.insurance.service&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.center&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.tradeplatform.tradecenter&env=prod

 

P2

Level-1 接口限流

集群负载过高,或者DB负载过高,超过5分钟未定位具体原因

https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

 

P2

Level-2 业务降级

集群负载过高,降级Level-1之后未缓解

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.order&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.insurance.service&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.center&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.tradeplatform.tradecenter&env=prod

 

P2

Level-2 接口限流

集群负载过高,降级Level-1之后未缓解

https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

 

P2

Level-3 业务降级

集群负载过高,无法对外提供服务

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.order&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.insurance.service&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.center&env=prod

https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.tradeplatform.tradecenter&env=prod

 

P2

Level-3 接口限流

集群负载过高,无法对外提供服务

https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

 

P3

美团/点评订单中心补单

美团/点评UGC补单

MQ发送异常或者降级

MQ消息堵塞

http://solution.trip.sankuai.com/solution/query/ordercenter

 

P3

订单号生成服务启动

ordercenter项目mac_info表过大(超过256条数据),导致新扩容的服务器启动失败

1.删除mac_info表中无用数据

delete from mac_info where id in (X,Y)

(X和Y为需要删除的id)

2.调整mac_info表AUTO_INCREMENT属性

alter table mac_info AUTO_INCREMENT=X

(X为mac_info表主键id下一个值)

3.最后再发布服务

 

P3

删单恢复

用户误删单要求恢复

http://solution.trip.sankuai.com/solution/query/ordercenter

该修复任务执行后会自动补单

 

P3

对Cellar降级

cellar出现故障,长时间不不能恢复

  1. 事件驱动降级

    https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.eventdriven&env=prod

  2. 快照服务降级

    https://mbop.sankuai.com/#/service/detail/breaker?appkey=com.sankuai.trip.trade.dealsnapshot&env=prod

事件记录丢失且无法失败重试

P4

保存机器现场

GC异常,线程block,线程deadlock等

curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh

在sankuai账号下执行 sh dump.sh

 

P4

日志清理

机器磁盘容量不足

00 故障处理SOP-2019-磁盘容量不足

cat /dev/null > logfile 

优先清理时间早、级别低的日志

 

P4

对trip-schedule降级

order项目向trip-schedule提交任务执行延迟时间

order mcc:tripScheduleJobRetryInterval=2000,120000

order流控:qps_ts_job=20

向ts提交任务执行时间延后2s,如果提交任务qps高于20,延后时间增长到2min

 
 

核销故障操作SOP

 

 

 

 

退款故障预案

 

 

 

 

故障处理SOP

机器和网络故障

节点挂了/网卡异常/其他原因不可用

  1. 现象
    falcon报出节点存活异常报警节,或tcp loss等

  2. 影响
    分发到该节点的流量无法处理等

  3. 如何处理
    1)反馈到交易群
    2)通过OCTO禁用节点,【服务详情】→ 【服务提供者】→ 【节点状态】
         注意:thrift和http都要禁用 该节点上所有端口都要禁用

    3.1)【推荐】通过plus关闭服务功能,停止提供服务



    3.2)如果plus无法正常关闭服务,还可以登录到机器停掉进程,停掉进程的命令:sudo svc -d ${serviceName}
          ${serviceName}可以到/service目录下找,如下所示

    代码块
    bash
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ cd /service/
    [sankuai@set-gh-trip-trade-order-test28 service]$ ls
    cplugin  falcon-agent  kms_agent  log_agent  log_agent_file  log_io  plus_agent  trip.trade.order
    [sankuai@set-gh-trip-trade-order-test28 service]$ jps
    2473 Bootstrap
    2989 Jps
    [sankuai@set-gh-trip-trade-order-test28 service]$ sudo svc -d trip.trade.order
    [sankuai@set-gh-trip-trade-order-test28 service]$ jps
    3124 Jps
     

          注:停止进程 sudo svc -d ${serviceName}
                 启动进程 sudo svc -u ${serviceName} 
                 重启进程 sudo svc -t  ${serviceName}

某个IDC网络拥塞

  1. 现象
    RPC访问特定IDC下节点大量超时或异常

  2. 影响
    分发到异常IDC节点的流量处理异常

  3. 如何处理
    1)反馈到交易群、故障通知群和SRE群
    2)通过OCTO一键扩容其他IDC节点,保障集群容量正常
          如果DX机房故障,扩容GH机房(YF机房属于BJ1中心,DX和GH属于BJ2中心)
          如果GH机房故障,扩容DX机房
          如果YF机房故障,扩容DX和GH


    3)通过OCTO禁用该IDC下所有节点,注意:thrift和http都要禁用 该节点上所有端口都要禁用

磁盘容量不足

  1. 现象
    falcon磁盘容量不足报警

  2. 影响
    日志写入失败

  3. 如何处理
    1)反馈到交易组大象群
    2)确定是日志导致磁盘空间不足,执行 cat /dev/null > logfile
    3)非程序日志文件导致磁盘空间不足,参考节点异常的处理方案,最后反馈给SRE处理

单台机器CPU压力过大

  1. 现象
    loadaverage报警

  2. 影响
    接口响应超时慢,超时

  3. 如何处理
    1)反馈到交易组
    2)排查是否GC异常,如果是参考【单台机器GC异常】处理手段。排查手段:cat和falcon的gc报警,falcon的gc指标监控,cat的gc指标监控


    3)如果GC正常,排查是否流量异常。如果流量明显高于其他机器,则通过OCTO调小节点流量权重
          注意:thrift和http都要调整, 该节点上所有端口都要调整

    4)如果流量也正常,直接下掉这个机器。先在OCTO上禁用节点,然后通过plus关闭服务
          注意:thrift和http都要禁用, 该节点上所有端口都要禁用

 

大量机器CPU压力过大

  1. 现象
    大量机器 load.average报警

  2. 影响
    业务流程处理缓慢,很影响业务

  3. 如何处理
    1)反馈到交易组和故障通知群
    2)如果已经影响到业务,一键降级非核心level-1接口和非核心level-1功能,视情况决定是否降级level-2接口和level-2功能

    3)通过octo一键扩容机器

    3)如果是有特定某个接口流量异常增长,通过CAT先定位异常增长接口,然后通过CAT 【RPC】→ 【提供RPC服务】找到调用方appkey,通过appkey在OCTO上找到服务负责人,电话对方负责人处理跟进

基础类故障

单台机器GC异常

  1. 现象
    falcon和cat出现gc time异常持续报警,或fullgc持续报警

  2. 影响
    业务请求处理缓慢,访问tair,squirrel,db等外部依赖超时,DB连接池被耗尽等

  3. 如何处理
    1)反馈到交易群
    2)则通过OCTO把流量权重调整到0。注意:thrift和http都要调整, 该节点上所有端口都要调整

    3)登录到机器,执行以下命令保存机器现场(如果solution机器down掉,按照非业务性异常时系统场景保存自动化脚本执行)

    代码块
    bash
     
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sh dump.sh
     

    4.1)【推荐】安全重启服务

    4.2)如果plus无法安全重启服务,可以登录机器重启java进程,在sankuai账号下执行 sudo svc -t ${serviceName}命令
         注意:记得通过jps看下Bootstrap进程号是否更新,确认重启成功

    代码块
    bash
     
     
     
     
    [sankuai@set-gh-trip-trade-order-test28 ~]$ cd /service/
    [sankuai@set-gh-trip-trade-order-test28 service]$ ls
    cplugin  falcon-agent  kms_agent  log_agent  log_agent_file  log_io  plus_agent  trip.trade.order
    [sankuai@set-gh-trip-trade-order-test28 service]$ jps
    2473 Bootstrap
    2989 Jps
    [sankuai@set-gh-trip-trade-order-test28 service]$ sudo svc -t trip.trade.order
    [sankuai@set-gh-trip-trade-order-test28 service]$ jps
    5138 Bootstrap
    3124 Jps
     

大面积机器GC异常

  1. 现象
    大量机器出现 gc time异常持续报警,或fullgc持续报警

  2. 影响
    业务请求处理缓慢,访问tair,squirrel,db等外部依赖超时,DB连接池被耗尽等

  3. 如何处理
    1)反馈到交易组和故障通知群
    2)如果已经影响到业务,一键降级非核心level-1接口和非核心level-1功能,视情况决定是否降级level-2接口和level-2功能


    3)通过octo一键扩容机器

    4)登录到一台GC异常机器,执行以下命令保存机器现场。(如果solution机器down掉,按照非业务性异常时系统场景保存自动化脚本执行)

    代码块
    bash
     
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sh dump.sh
     

    5)如果未恢复,且仍在影响业务正常运行,一键降级level-3接口,逐个机器重启java进程,再逐步按比例放开流量

     

单台机器线程block

  1. 现象
    falcon或cat报警 jvm.thread.block

  2. 影响

  3. 如何处理
    1)反馈到交易群
    2)则通过OCTO把流量权重调整到0。注意:thrift和http都要调整, 该节点上所有端口都要调整

    3)登录到机器,执行以下命令保存机器现场(如果solution机器down掉,按照非业务性异常时系统场景保存自动化脚本执行)

    代码块
    bash
     
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sh dump.sh
     

    4.1)【推荐】安全重启服务

    4.2)如果plus无法安全重启服务,还可以登录机器重启java进程,在sankuai账号下执行 sudo svc -t ${serviceName}命令
         注意:记得通过jps看下Bootstrap进程号是否更新,确认重启成功

    代码块
    bash
     
     
     
     
    [sankuai@set-gh-trip-trade-order-test28 ~]$ cd /service/
    [sankuai@set-gh-trip-trade-order-test28 service]$ ls
    cplugin  falcon-agent  kms_agent  log_agent  log_agent_file  log_io  plus_agent  trip.trade.order
    [sankuai@set-gh-trip-trade-order-test28 service]$ jps
    2473 Bootstrap
    2989 Jps
    [sankuai@set-gh-trip-trade-order-test28 service]$ sudo svc -t trip.trade.order
    [sankuai@set-gh-trip-trade-order-test28 service]$ jps
    5138 Bootstrap
    3124 Jps
     

大面积机器线程block

  1. 现象

  2. 影响

  3. 如何处理
    1)反馈到交易组和故障通知群

    2)如果已经影响到业务,一键降级非核心level-1接口和非核心level-1功能,视情况决定是否降级level-2接口和level-2功能


    3)通过octo一键扩容机器

    4)登录到一台异常机器,执行以下命令保存机器现场。(如果solution机器down掉,按照非业务性异常时系统场景保存自动化脚本执行)

    代码块
    bash
     
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sh dump.sh
     

    5)线程block异常如果未恢复,且仍在影响业务正常运行,一键降级level-3接口,逐个机器重启java进程,再逐步按比例放开流量

     

单台机器thrift线程池满或者workQueue满

  1. 现象
    falcon报警,thrift线程池或workQueue即将耗尽

  2. 影响
    拒绝请求,或者请求被排队不能及时处理

  3. 如何处理
    1)反馈到交易群
    2)则通过OCTO把线程池满的thrift端口权重调小




    3)通过cat或octo排查是否有流量异常徒增、流量分配不均匀、gc异常、cpu压力大等

大面积机器thrift线程池耗尽或者workQueue满

  1. 现象
    falcon报警,thrift线程池或workQueue即将耗尽
    接口耗时陡增

  2. 影响
    拒绝请求,或者请求被排队不能及时处理

  3. 如何处理
    1)反馈到交易群和故障通知群
    2)在弹性工程,一键降级非核心http接口


    3)通过octo一键扩容机器

    4)按比例逐步放开level-1 http接口流量
    5)排查具体原因,是否流量陡增,流量分配不均,或者其他原因

单台机器Jetty线程池耗尽

  1. 现象
    报警jetty线程池资源不足
    http接口耗时陡增

  2. 影响
    http接口耗时上涨,拒绝http部分请求

  3. 如何处理
    1)反馈到交易组
    2)通过octo将http端口流量权重调小,注意:是提供http服务的端口

    3)通过cat或octo排查是否有流量异常徒增、流量分配不均匀、gc异常、cpu压力大等

大面积机器Jetty线程池耗尽

  1. 现象
    大量机器报警jetty线程池资源不足
    http接口耗时陡增

  2. 影响
    http接口耗时上涨,拒绝http部分请求

  3. 如何处理
    1)反馈到交易群和故障通知群
    2)在弹性工程,一键降级非核心http接口


    3)通过octo一键扩容机器

    4)按比例逐步放开level-1 http接口流量
    5)排查具体原因,是否流量陡增,流量分配不均,或者其他原因

存储组件故障

单台机器DB连接池耗尽

  1. 现象
    cat报警org.apache.tomcat.jdbc.pool.PoolExhaustedException

  2. 影响

  3. 如何处理
    1)反馈到交易组
    2)则通过OCTO把流量权重调整到0。注意:thrift和http都要调整, 该节点上所有端口都要调整
    3)确认是否GC或thread异常,如果是,保存现场,然后重启java进程

    代码块
    bash
     
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sh dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sudo svc -t /service/trip.trade.order
     

大面积机器DB连接池耗尽

  1. 现象
    大面积机器cat报警org.apache.tomcat.jdbc.pool.PoolExhaustedException

  2. 影响

  3. 如何处理
    1)反馈到交易组和故障通知群
    2)如果已经影响到业务,一键降级非核心level-1接口和非核心level-1功能,视情况决定是否降级level-2接口和level-2功能



    3)通过octo一键扩容机器

    4)按比例逐步放开level-1 http接口流量,关闭非核心功能业务降级开关
    5)排查具体原因,是否流量陡增,依赖超时,或者其他原因

DB主从延迟过大

  1. 现象
    falcon报警主从延迟(需要找DBA添加报警权限)

  2. 影响

  3. 如何处理
    1)反馈到交易组和DBA群
    2)排查主从延迟原因是写入量过大,还是读过大,或者是其他原因。
    3)如果写入量大导致,直接对下单接口限流,限流操作入口;
         如果读过大导致,通过CAT排查读流量最大接口,在OCTO上直接对thrift接口限流
    4)如果是大量慢查询,或者其他原因导致,联合DBA排查处理

单台机器DB读写超时

  1. 现象
    CAT报警 mysql因超时导致的失败率上升

  2. 影响

  3. 如何处理
    1)反馈到交易组
    2)一般是由机器自身原因导致,排查GC,CPU,内存指标等。
    3)如果流量分配不均,单机流量比较高或者单机GC异常、CPU压力大灯,则先通过octo一键扩容扩一台机器,然后禁用异常机器流量,保存现场,并重启

    代码块
    bash
     
     
     
     
     
    [hanjianqi@set-gh-trip-trade-order-test28 ~]$ sudo -iu sankuai
    [sankuai@set-gh-trip-trade-order-test28 ~]$ curl -fsSL http://dx-trip-trade-solution01.dx.sankuai.com:8090/tools/dump.sh > dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sh dump.sh
    [sankuai@set-gh-trip-trade-order-test28 ~]$ sudo svc -t /service/trip.trade.order
     

大面积机器DB读写超时

  1. 现象
    大面积CAT报警 mysql因超时导致的失败率上升

  2. 影响

  3. 如何处理
    1)反馈到交易组和故障通知群
    2)如果影响到下单、支付、核销、退款业务,一键降级非核心level-1接口和非核心level-1功能,降级后仍不能恢复继续降级level-2接口和leve-2功能,如果仍不能恢复直接对下单、核销、退款接口逐步开启限流
    3)一般是流量增加、某个接口流量增加,长事务中某个外部依赖耗时增加原因导致。排查流量情况,长事务中外部依赖耗时情况

大面积机器Cellar读写超时

  1. 现象
    大面积CAT报警 cellar因超时导致的失败率上升

  2. 影响

  3. 如何处理
    1)反馈到交易组和cellar-旅游酒店群2)各模块手动降级策略

    服务模块

    手动降级开关

    降级后影响

    备注

    trade.order

    MCC上置event_retry_enable_v1开关为false

    ED不再执行重试任务

     请注意判断cellar的area,area=7

     

     

     

    eventDriven

    eventDriven弹性工作台

    ED发送时不再执行Cellar操作

    snapshot

    快照弹性工作平台

    cellar功能关闭

    直接查询产品中心,有可能和下单时候的数据不一致。

    请注意判断cellar的area,area=22

大面积机器Squirrel读写超时

  1. 现象
    大面积CAT报警 squirrel因超时导致的失败率上升

  2. 影响
    1)支付后无法风控
    2)下单不对userId_dealId加锁,存在小概率重复下单、刷单风险。

  3. 如何处理
    1)反馈到交易组和交易Squirrel群
    2)如果未自动熔断,进入弹性工作

    目前使用squirrel的项目 squirrel链接 (截止到06-06下图列表为业务重点使用的)

    服务模块

    手动降级开关

    降级后影响

    备注

    order

    order弹性工作台

    关闭squirrel功能

    下单不对userId_dealId加锁,存在小概率重复下单、刷单风险

    无法关单,走定时任务补偿

     

     

     因为否是非核心流程,所以squirrel使用统一个集群

    order-center

    ordercenter弹性工作台

    降级 squirrel 功能 (勿降级squirrel_hdel)

    所有数据查询不走缓存直接查库,谨慎使用

    trade-center

    tradecenter弹性工作台

    关闭squirrel功能

    不进行风控校验

    meilv

    meilv弹性工作台

    关闭squirrel功能

    所有加锁功能失效,并发操作时可能发生资源争抢问题

    refund

    refund弹性工作台

    关闭squirrel功能

    所有加锁功能失效,并发操作时可能发生资源争抢问题

大面积MQ消息读写超时

  1. 现象

    1)Cat监控报警:发送消息队列积压报警(发送端线程池队列积压超过500)

    2)大面积CAT报警,mq因超时导致失败率上升,耗时上升

    3)MQ平台报警消息堵塞,用户投诉下单后在订单列表状态与订单详情页状态不一致;保险支付后在保险详情看不到出保状态

  2. 影响
    1)同步订单状态到订单中心延迟,故障期间用户在订单列表的状态错误
    2)保险无法出保
    3)支付后返券无法通知到潘多拉
    4)景+X状态支付状态无法同步到景+X业务
    5)手工出票订单出票后无法自动核销

  3. 如何处理
    1)反馈到交易组、故障通知群和Mafka酒旅运维群

    2)打开开关切换至RPC通道(有自动降级/熔断策略),注:该开关是配置在各个业务方熔断降级开关中的。

    3)RPC备用通道Cat监控(EventDriven RPC备用通道Cat监控)

 大面积ES故障

  1. 现象
    1)CAT报警,es接口耗时/失败率飙升
    2)CAT报警,下单限购错误量异常

  2. 影响
    下单耗时增加、下单失败

  3. 如何处理
    1)反馈到交易组、故障通知群
    2)开启限购降级开关

核心依赖故障

收银台故障-申请支付token不可用

  1. 现象
    CAT报警,prePayOrder接口失败率飙升,用户反馈在客户端无法调起支付页
    CAT大盘监控“下单/支付比例”下降,CAT报警“用户支付比例下降”

  2. 影响
    下单失败

  3. 如何处理
    1)反馈到交易组、故障通知群和支付平台业务方技术对接群
    2)一键降级业务下单接口?(应该没有必要,降级和不降级对外的表现都是下单失败,这种情况下只能坐等收银台恢复故障;但是也有可能收银台要求业务方降低申请支付token的流量;如果这个接口被刷了怎么办)

收银台故障-客户端支付不可用

  1. 现象
    CAT大盘监控“下单/支付比例”下降,CAT报警“用户支付比例下降”

  2. 影响
    下单失败

  3. 如何处理
    1)反馈到交易组、故障通知群和支付平台业务方技术对接群
    2)一键降级业务下单接口?(应该没有必要,降级和不降级对外的表现都是下单失败,这种情况下只能坐等收银台恢复故障;但是也有可能收银台要求业务方降低申请支付token的流量;如果这个接口被刷了怎么办)

收银台故障-支付回调不可用

  1. 现象
    ordercenter/v1/pay/notice调用量下降
    用户投诉支付后仍然展示未付款

  2. 影响
    用户支付后,订单详情显示待支付

  3. 如何处理
    1)反馈到交易组、故障通知群和支付平台业务方技术对接群
    2)一键降级业务下单接口?(需要讨论是否可行,此时如果降级下单入口,直接无法下单;如果不降级下单入口,用户可以下单,但是会投诉)
         降级操作入口:https://mbop.sankuai.com/#/service/detail/flow?appkey=com.sankuai.trip.trade.order&env=prod

收银台故障-退款回调不可用

收银台故障-退款不可用

收银台故障-查询退款不可用

用户中心故障

  1. 现象

  2. 影响
    1)下单不可用,C端提示“请您登陆后再进行操作”(getUserByToken接口故障)
    2)订单详情页不可用,C端提示“请您登陆后再进行操作”(getUserByToken接口故障)
    3)门票退款、发票功能不可用,C端显示“请您登陆后再进行操作”(getUserByToken接口故障)
    4)getUserById故障,填单页不展示默认游玩人,没有游玩人的下单会失败
    5)getVirtualBindByDpUserId故障,点评订单列表、点评订单count,删除点评订单服务不可用

  3. 如何处理
    1)反馈到交易组和MT用户中心-客户群
    2)如果getUserByToken接口不可用,一键降级下单接口和订单详情页

平台订单中心故障

  1. 现象

  2. 影响
    用户下单后在美团app订单列表看不到最新订单

  3. 如何处理
    1)反馈到交易组、故障通知群和美团订单中心问题咨询
    2)等订单中心回复后,在发起按时间段的补单操作

直连故障-下单接口不可用

  1. 现象
    CAT报警

  2. 影响

  3. 如何处理
    1)反馈到交易组、故障通知群和直连问题反馈/解决群
    2)故障恢复后统计故障影响和损失

直连故障-支付接口不可用

  1. 现象

  2. 影响
    用户支付后,订单卡在出票中状态

  3. 如何处理
    1)反馈到交易组、故障通知群和直连问题反馈/解决群
    2)如果大面积卡在出票中,超过X分钟不恢复,一键降级业务下单接口?(需要讨论是否可行,此时如果降级下单入口,直接无法下单;如果不降级下单入口,用户可以下单,但是会大量投诉)
    3)故障恢复后,通过solution修复直连下单工具修复出票中订单

直连故障-下单回调不可用

  1. 现象

  2. 影响

  3. 如何处理
    1)反馈到交易组、故障通知群和直连问题反馈/解决群
    2)如果大面积下单失败,超过X分钟不恢复,一键降级业务下单接口?(需要讨论是否可行,此时如果降级下单入口,直接无法下单;如果不降级下单入口,用户可以下单,但是不会跳转到支付页面)

直连故障-支付回调不可用

  1. 现象

  2. 影响
    用户支付后,订单卡在出票中状态

  3. 如何处理
    1)反馈到交易组、故障通知群和直连问题反馈/解决群
    2)如果大面积卡在出票中,超过X分钟不恢复,一键降级业务下单接口?(需要讨论是否可行,此时如果降级下单入口,直接无法下单;如果不降级下单入口,用户可以下单,但是会有大量投诉)

直连故障-refundOrder不可用

  1. 现象 

  2. 影响 

    1. 直连订单申请退款通知直连失败

  3. 如何处理

    1. 反馈到交易组、故障通知群和直连问题反馈/解决群

    2. 已接入trip-schedule重试,无需处理

直连故障-orderRefundNoticePartner不可用

同上

直连故障-退款回调不可用

  1. 现象

  2. 影响

    1. 直连商家同意退款,但执行退款失败

  3. 如何处理

    1. 反馈到交易组、故障通知群和直连问题反馈/解决群

    2. 有补偿任务,无需处理

直连故障-核销通知不可用

哥伦布故障-价格库存查询不可用/deal查询不可用

  1. 现象

  2. 影响
    填单页不可用
    用户下单失败

  3. 如何处理
    1)反馈到交易组、故障通知群和哥伦布客户端使用群
    2)如果下单大面积失败,超过X分钟不恢复,一键降级业务填单页接口和下单接口?(需要讨论是否可行)

哥伦布故障-库存更新不可用

  1. 现象

  2. 影响
    用户下单失败

  3. 如何处理
    1)反馈到交易组、故障通知群和哥伦布客户端使用群
    2)如果下单大面积失败,超过X分钟不恢复,一键降级门票锁库存降级开关(不再锁定门票库存,但是在支付后还继续异步调用扣减库存)
    3)记录下所有不走锁库存操作的订单,以备后续善后处理

     

产品快照故障

  1. 退款查询快照

    1. 进入meilv降级工作台,找到

      开启降级开关

  2. 订单详情页查询快照

    1. 进入mbop-order-熔断降级,找到

      开启降级开关

酒旅风控故障

  1. 填单页风控

    风控接口抛出异常,开关会自动降级/熔断

    如果风控策略出现问题或接口耗时影响服务可用性,可手动降级

  2. 下单风控

    风控接口抛出异常,开关会自动降级/熔断

    如果风控策略出现问题或接口耗时影响服务可用性,可手动降级

  3. 支付风控

    风控接口抛出异常,开关会自动降级/熔断

    如果风控策略出现问题或接口耗时影响服务可用性,可手动降级

     

squirrel故障

见上面:大面积机器Squirrel读写超时

rd 后续处理需要注意的两点:

  1. (售后使用db锁进行兜底操作)如果db锁也出现异常,关闭db锁,此时transact无

    ordercenter弹性工作台,开启db熔断。(如果手动开启,squirrel恢复后,关闭db锁)锁

  2. 如果 squirrel.hdel 发生降级。

    会收到cat P2报警 “squirrel.hgetAll发生降级,需确认DB压力与squirrel恢复情况”。需要做以下2步确认。

    1. 查看db是否存在报警。dba查询qps是否在安全范围(单机QPS低于12000)。数据库查询qps 查看max

    2. 查看squirrel 是否恢复正常。访问dbus 故障收集系统 将故障批量执行,且成功。

    如果db无法承受 或者 确认squirrel 恢复成功。则访问orderCenter 统一配置中心,将 cache_query_fallback_switch 置为false.

Cellar故障

见上面:大面积机器Cellar读写超时

潘多拉故障

  1. 现象

  2. 影响
    填单页不展示潘多拉活动
    下单时如果有潘多拉活动,则下单失败
    支付后、消费后、评价后通知潘多拉失败

  3. 如何处理
    1)反馈到交易组、故障通知群和酒旅营销平台技术沟通群
    2)如果下单大面积失败,超过X分钟不恢复,且暂时无法定位问题,直接一键降级填单页优惠入口

    3)如果要在填单页过滤特定活动,使其不展示:

    1. 访问 order流控平台

    2. 找到对应的配置项

    3. 修改配置:

      1. 相关配置项:参数请点击:优惠降级配置

核心业务异常

用户侧-大面积下单失败

  1. 如何发现
    1)CAT P0报警门票生单失败量

    2)FDP 下单失败报警

  2. 如何处理
    1)反馈到交易组、故障通知群

    2)查看FDP-下单监控,查看是否集中在单一用户或单一deal,通过样例查找失败原因


    3)查看下单失败cat监控,查看是否是正常的业务异常,如果不是,查看下单失败原因,执行对应SOP

用户侧-大面积出现付款后展示未支付

  1. 如何发现
    1)CAT 支付率报警

    2)FDP 支付申请失败报警

  2. 如何处理
    1)反馈到交易组、故障通知群

    2)查看FDP-支付申请监控,查看是否集中在单一用户,通过样例查找失败原因

    3)查看申请支付失败cat监控,查看是否是正常的业务异常,如果不是,查看申请支付失败原因,执行对应SOP

  3.  

用户侧-大面积出现付款后未出票

  1. 如何发现
    1)CAT 出票率报警

    2)BCP 未出票报警

    2)FDP 未出票报警

  2. 如何处理
    1)反馈到交易组、故障通知群

    2)查看FDP-出票监控,查看是否集中在单一deal,与直连同学进行沟通确认

    3)查看出票延迟cat监控

用户侧-大面积出现无法核销

用户侧-个别用户出现无法核销

故障预防措施

业务容量风险预防

  1. 接入hulk,根据资源使用率动态扩缩

  2. ordercenter动态扩缩有风险,数据库表中最多支持127个机器

DB主库读风险预防

  1. 思想

    1. 加缓存,缓解主库读压力30%~40%左右

    2. 非数据强一致性要求业务流程,读从库

    3. 标热用途的cellar强依赖,支持根据appkey降级(降级后,核心业务appkey读主,非核心业务appkey读从;根据业务下单量区分业务是否核心?)

  2. 现象

    1. 接到大象报警通知

    2. 主库(dx-travel-mysql-triporder04)的读达到15K以上

  3. 影响

    1. 数据库变慢拖垮系统,系统整体响应变慢?

  4. 如何处理

    1. octo上order-center项目调整热标记时间,key为hotkey_expiretime_millisecond给为100

      1. https://octo.sankuai.com/serverOpt/operation?appkey=com.sankuai.trip.trade.center#config

集群流量均衡控制

依赖超时重试排查

服务接口流量控制

meilv

  1. 核销流量突发

    1. 进入meilv流控工作台

    2. 如果DB有问题,打开"总是拒绝"策略

    3. 如果想限制流量,打开"集群频次限制"策略,默认1s 90次,超过则拒绝,如不满足可配置

refund

  1. 退款查询流量激增,DB压力大

    1. 进入退款mbop截流

仅供内部使用,未经授权,切勿外传
9 人赞了它
浏览 820 次 共 98 人浏览
 
posted @ 2019-02-27 21:56  积淀  阅读(7)  评论(0)    收藏  举报