其他分享
首页 > 其他分享> > 支付系统研究 - 高可用订单架构

支付系统研究 - 高可用订单架构

作者:互联网

一、日百W级别订单系统丢单原因分析

1、订单查询核心逻辑:不使用读写分离方式,避免从库同步延迟造异常问题;不使用缓存,避免缓存同步延迟问题

 

 

2、订单补偿不要粗暴使用消息队列方式,避免中间件异常导致的订单丢失问题;

 

 

 3、接受消息时一定要有重试机制

 

 

 

 二、日W级订单系统架构

主要职责:创建订单和支付完成修改订单

 

 

 

1、写数据库时,数据库事务粒度不要过大,避免锁表,关注慢sql;   不要把更新缓存和写消息队列放到DB事务中

2、关注数据异构性能和稳定性:尤其网络抖动的情况,可能影响用户体验

3、关注订单的幂等性,避免计费等错误,影响后续操作流程

 

缺点:

流量主要集中在主DB上,需要分库分表拆分多个主DB

 

新的问题:

 

1、热点数据存在,导致存在数据倾斜问题,引发提早扩容

2、下单服务耦合过重:多集群架构部署模式,也能实现业务快速变化

痛点问题

1、下单服务处理接单慢

2、数据库压力大

3、数据异构延迟高

4、缓存数据质量差

 

优化方案

 

 

 

1下单服务处理接单慢:单独接单服务接单,使用订单引擎和订单管理处理订单业务逻辑

2、数据库压力大:使用双写和数据补偿方式,处理缓存

3、数据异构延迟高

4、缓存数据质量差:使用缓存过期方式控制数据量

 

 

 

 

1、幂等性:插入任务失败,重新执行当前任务

2、并行调度:根据配置决定是否串行或并行执行

3、任务状态机:检测失败任务,重试;当超过一定次数,告警和人工干预

4、保证实时查询

 

 

 

 

标签:缓存,架构,可用,数据库,DB,订单,接单,延迟
来源: https://www.cnblogs.com/binfirechen/p/16182727.html