订单系统架构笔记摘抄
来源:互联网 发布:王路 知乎 编辑:程序博客网 时间:2024/05/04 18:45
美团外卖订单系统
性能优化
- 系统拆分
划分为三个系统,分别为交易系统、查询系统、异步处理系统。独立拆分后,可以避免业务间的相互影响。快速支持业务迭代需求的同时,保障系统稳定性。 - 异步化
有两种方案:- 线程或线程池:将异步操作放在单独线程中处理,避免阻塞服务线程。但是重启时,需要通过JVM优雅关闭来保证异步操作进行完成后,JVM再关闭。
- 消息异步:异步操作通过接收消息完成。
- 并行化
并行化将原本串行的工作并行执行,降低整体处理时间,比如下单后需要获取门店、菜品、用户信息,这些信息可以并行获取,节省时间。 - 缓存
一致性优化
- 幂等重试
通过重试+幂等,保证退款等操作最终一定会完成。 - 两阶段提交
通过2PC来保证多个系统的数据一致性。比如下单过程中,涉及库存、优惠资格等多个资源,下单时会首先预占资源(对应2PC的第一阶段),下单失败后会释放资源(对应2PC的回滚阶段),成功后会使用资源(对应2PC的提交阶段)。
高可用
- 依赖容灾
依赖容灾主要有如下几个思路:- 依赖超时设置;
- 依赖灾备;
- 依赖降级;
- 限制依赖使用资源;
当前订单系统通过同时采用上述四种方法,来避免底层服务出现问题时,影响整体服务。具体实现上,我们采用Hystrix框架来完成依赖容灾功能。Hystrix框架采用上述四种方法,有效实现依赖容灾。
参考
《从订单业务模块到分布式高可用:美团外卖订单中心的演进之路》
0 0
- 订单系统架构笔记摘抄
- 订单系统简单架构
- 笔记摘抄
- 乐视秒杀架构解读:从零开始搭建百万每秒订单系统
- Java互联网架构-Mysql分库分表订单生成系统实战分析
- 京东虚拟业务多维订单系统架构设计
- 高并发订单系统架构设计(二)
- 订单系统
- 框架 day84 涛涛商城项目-订单系统,系统架构梳理及nginx实现虚拟主机
- oracle系统表-摘抄
- 摘抄:系统进程
- 系统可靠性(摘抄)
- 系统规划(摘抄)
- 系统设计(摘抄)
- 嵌入式系统(摘抄)
- [摘抄拼凑]系统架构师修炼之开发模式(模型)
- 大型电子商务网站架构,摘抄
- 软件架构设计(摘抄)
- 8.多线程文件拷贝(2)
- PJAX的实现与应用
- 如何在Unity(C#)內使用pointer?
- javascript 四种数组遍历方法
- 使用连接mysql的jdbc驱动最新版引发的问题
- 订单系统架构笔记摘抄
- 五类IP的范围
- Android开发从入门到放弃(7)使用GridLayout
- 贪吃蛇游戏(C语言)(在Dev c++、vc中运行通过)
- 设计模式(17)之中介者模式
- 利用JQuery实现顶部导航栏功能
- 实验项目-计算器
- java.lang.System.arraycopy()方法
- java 设计模式之 -- 观察者模式