第1章 ASBJ2014-王晓钟-架构大流量稳定交易系统 终稿.pptxVIP

第1章 ASBJ2014-王晓钟-架构大流量稳定交易系统 终稿.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ArchSummit 2014全球架构师峰会 京东商城交易系统双11总结 十大原则 原则一:流量隔离 原则二:灾备切换 原则三:水平扩展-分流 原则四:超预期流量-限流 原则五:保护系统-降级 原则六:提高性能-读写分离 原则七:唯快不破-异步化 原则八:动态,静态流量分离 原则九:线上压力测试-发现瓶颈 原则十:预案 流量隔离原则 前提:按照业务拆分系统 网站系统:首页,列表,频道,单品,搜索 交易系统:价格,购物车,结算,支付,订单中心 基础服务:促销,库存,商品,用户 订单系统:管道,OFW,订单中间件,生产系统 流量隔离原则 二 流量隔离 1 机房入口流量隔离 1)按照运营商维度隔离机房入口流量 2)按照业务的重要等级隔离机房入口流量 2 机房间专线的流量隔离 不同业务,不同系统分配不同的网络带宽。 渣土车和运钞车不同路。 3 机房内部流量隔离 按照机柜分配机器。 灾备切换原则 前提条件:多机房部署 1 无状态应用N机房部署 2 有状态应用双机房部署 数据一致性保证: 1) 程序双写:灵活,集群间相互切换快。 a 同步双写 数据一致性高,影响性能,不适合多个集群。 b 异步双写 数据一致性差,性能高,适合多个集群。 举例:购物车系统。 灾备切换原则 2 底层存储数据复制 优点:数据一致性高 缺点:主从切换不灵活,复制节点出问题后,恢复慢。 二 机房入口流量切换 机房内部出现大面积故障和机房入口流量故障 1 入口流量切换策略 1)DNS域名:较慢,机房入口处问题+机房内部,有地域性 2)LVS+HAProxy 直接路由:较快,机房内部大面积故障 灾备切换原则 三 机房内部切换 调用者客户端切换 1 Java应用切换策略:底层服务框架,VIP,内部DNS 2 缓存切换策略 3 数据库切换策略:客户端,DB自身 四 灾备集群 1 空闲灾备集群 热点缓存,管理成本 2 小流量灾备集群 增加事故风险 3 全部切换-部分切换 灾备切换原则 第一步:交易流量切换 第二步:数据库停写 第三步:数据库停复制 第四步:Redis停复制 第五步:逆向恢复 分流原则 一 水平扩展 无状态应用简单,有状态难 二 系统峰值引流,秒杀系统: 1数据完全独立的部署 热点数据少 2应用独立部署 3定制化的策略 三 非重要业务分流到单独集群 购物车的库存状态,地址 结算页的运费险,Promise标志 降级原则 一 系统级降级 1 结算页-成功页-订单中心-订单详情 2 下游系统降级 一次拆分暂停 二 业务功能模块降级: 1 业务逻辑 实时价格更新不及时 2 页面降级 我的京东首页 动态降级到静态 3 非关键业务屏蔽 购物车库存状态 4 远程服务降级到本地缓存 运费 动静分离原则 一 静态流量 流量大入口带宽占用高,机房间无流量 1 CDN 2 单独部署 二 动态流量 流量小,系统依赖复杂,机房间有流量 异步化原则 一 页面异步化 购物车,结算页 二 写逻辑异步化 促销,库存 线上压测原则 压测驱动架构 一 读逻辑 二 写逻辑 三 覆盖范围 四 性能指标 1 硬件:cpu,内存,硬盘,网络 2 软件:吞吐量,并发数,服务响应时长(客户端/服务端 ) 五工具 1 tcpcopy 2 压测工具 3 恶意流量 系统举例-实时价格 系统举例-实时价格 特点1: 纯动态,无法进行CDN缓存 特点2:读写调用量大 特点3:读写比高 系统举例-实时价格 一 业务逻辑概述 京东的实时价格由采销人员后台设置,京东价+促销信息(类型,开始,结束时间)。用户在前台商品详情页访问。京东价由采销设置的京东价+促销规则(直降等)计算而出。 二 写逻辑流程 1 采销后台更新价格,写关系型DB,通过异步任务通知发布程序。 2 发布程序更新促销信息主redis数据,更新价格主redis的过期时间戳。 三 读逻辑流程 1 Nginx直接读取本地redis中的价格数据,无过期则直接返回用户。 2 过期或没有命中则回源访问价格服务,取最新数据返回用户。 四 回源写逻辑 1 Java价格服务读取促销信息主redis,计算价格返回用户,同时异步写价格主redis集群。 2 价格主redis集群同步数据到前置Nginx节点的从redis 系统举例-实时价格 水平扩展-分流原则: 前置Nginx+Redis的架构是无状态的,Redis中几乎存放了全部商品价格信息。 可以水平扩展,瓶颈在于主redis的数据复制能力。 超预期流量-限流原则: 前置Nginx增加了限流规则:规则+限流数据。 保护系统-降级原则:通过开关控制回源,降级为不回源,业务影响为价格不更新,但交易系统的价格为最新价格。 提高性能-读写分离原则: 读写逻辑分成几个闭环,完全互不干扰。 唯快不破-异步化原则: 采销

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档