暂无个人介绍
2024年04月
通用方案主要分为数据一致性方案、幂等方案、防资损方案、慢sql改造方案等几类。
可以整理一张稳定性摸排全链路的Action路由图,包括摸排、监控补充、技术改造和预案等步骤,为团队同学在稳定性建设过程中提供体系化的指导。
配置一套从整体到细节,从感知到诊断的系统统一监控,可以很好地解决日志监控难以定位问题的问题。
状态机列表不是必选的,但如果摸排的业务中同样有复杂的业务单据状态流转的依赖关系,建议画出此图辅助监控的添加。
状态机列表用于辅助数据对账准确无遗漏的落地。当付款单据与付款凭证(账单)之间的状态流转有依赖关系,或者单据自身的状态流转有卡口规则时,可以列出状态机列表。
在添加监控时,除了根据业务走向的正向数据对账之外,也要考虑逆向的数据对账,并根据可能产生问题的严重程度进行有优先级的监控建设。
数据模型依赖图的作用是根据场景用例图,推导出所有涉及的业务实体的依赖关系以及关键字段,这些字段就是我们需要做数据对账的核心字段。
场景用例图的作用是从目标出发,找到所有重点问题可能发生的场景,并涵盖所有的问题场景以及问题场景中所涉及的业务实体与字段。
我们应该根据场景用例图,找出所有涉及的业务实体的依赖关系以及关键字段,这些字段就是我们需要做数据对账的核心字段。
是为了发现信息和资金流转过程中的数据不一致问题。
监控作为发现问题的主要手段,需要保证全面性和有效性。常用的监控手段包括数据对账和日志监控。
在组内review的时候,三张图可以提供是否“全”的判断依据,即是否涵盖了所有核心链路、流程时序和问题路由。
有了这三张图,我们可以将每一行代码都进行全量问题的摸排判断,缩减为核心流程中关键节点对应的各自类型的问题摸排判断;并且过程中有了核心链路和关键节点的推导,可以保证不会带来摸排遗漏。
在问题路由图中,需要注意流量问题、核参校验问题、幂等问题、不可用问题、数据一致性问题、事务问题、并发逻辑问题以及会带来资损的金额计算问题等。
问题路由图的作用是根据关键点的类型,路由到可能出现的问题进行重点排查。
流程时序图的作用是梳理核心链路的代码,明确各个链路至少对应一个流程时序图,重点关注RPC调用和关键实体的操作。
根据确定的目标推导,可能会发生重点问题的流程就是核心链路。例如,对于CRP来说,第一重点是0资损,那么涉及到资损的付款流程就是核心链路。
确定优先摸排的范围,即可能会发生重点问题的流程。
在流程摸排路由中,我们需要核心链路图、流程时序图、问题路由图。
确定目标需要拉通所有的故障场景,明确自己负责的业务应用的目标是什么。例如,2C业务的目标更偏重服务稳定性,2B业务的目标更偏重数据一致性,涉及到资金流转的业务目标更偏重资损。