当前位置: 首页 > 网站架构 > 正文

京东交易系统高可用架构实践

1 星2 星3 星4 星5 星 (暂无评分)
Loading ... Loading ...
baidu_share
文章目录

以下是京东交易系统高可用架构方面的实践。

高可用捷径——无状态化

无状态化的架构设计
优点
⽔平扩展
天然⾼可用

适应业务场景
底层存储满⾜⽆状态

无状态化设计举例
无状态化设计

自我保护

流量隔离

一 机房入口流量隔离
1) 按照运营商维度隔离入口流量 移动,联通,电信智能DNS解析到不同机房
2) 按照业务重要等级和类型隔离入口流量 交易系统和大数据系统不在一个机房

二 机房间专线的流量隔离 不同业务,不同系统分配不同的网络带宽

三 机房内部流量隔离 不同应用尽可能分配在不同机柜,避免相互影响

业务分流

一 PC端,移动,秒杀,微信手Q独立部署
1) 各渠道应用 ,数据完全独立部署
2) 不同依赖底层服务独立部署
3) 各渠道定制不同策略

二 同渠道按业务重要程度分流到单独分组
1)迷你购物车等独立分组

防刷保护

一 nginx层防刷
1)客户端IP+访问频率限制
2)定制化交易防刷模块 访问路径合法性,结合风控数据
3)高等级用户分流

二 app层防刷 提交订单频率限制 风控拦截等

异步化

一 页面异步化 购物车,结算页拆分异步化nginx节点

二 写请求的异步化 购物车异步三写 结算页异步写订单中心缓存

带宽保护

一 静态资源迁移到CDN
二 双网卡 bond 模式
三 大小nginx间gzip压缩
四 升级万兆网络

容器化部署

从物理机到docker
1.节约服务器资源
2.应用规模快速灵活伸缩
3.定制化container提高运维生产力
4.提高了服务器资源利用率

压力测试

单机压测

jmeter webbench模拟请求
nginx引流

集群压测

压力测试集群压测
tcpcopy 复制流量压测

机房间压测

Haproxy复制流量压测

写流量压测

憋单压测
订单管道拦截压测订单

故障的快速发现

1.性能维度
2.可用率维度
3.调用量维度
4.单量维度

交易红绿灯监控

交易红绿灯

单量监控

单量监控

故障应对策略

主动干预

服务路由切换
客户端主动切换
服务端变更服务下可用机器列表

降级
交易服务按功能模块降级
降级

自动切换

服务自动切换
用tp99,可用率等参数判定故障 自动切换
优点:切换快 ,切换前后对性能无影响
缺点:判定切换的条件难,容易误判和反复切换

失败补偿
调用服务失败,走其他集群服务补偿
优点:简单
缺点:故障发生时,服务性能下降

接入层故障

运营商入口流量故障
DNS 解析下掉故障入口

HA nginx层面故障
切换 vip 下面的nginx
接入层故障

灾难性故障

1.机房断电
2.网线被挖
3.核心网络故障
4.地震
5.万全之策 ——多中心交易
多中心交易

多中心设计原则

1.数据路由一致性
2.同机房内流量闭环
3.缩短多中心数据延迟
4.底层数据多写最终一致性
5.多中心数据差异可控

预案与演练

共1000+预案

预案演练
1.定期演练
2.大促前军演
3.一键开关演练

本文固定链接: http://www.chepoo.com/high-availability-architecture-of-jingdong-trading-system.html | IT技术精华网

京东交易系统高可用架构实践:等您坐沙发呢!

发表评论