系统练级攻略 | 京东架构师倾情解读

刘慎宝:京东财务研发部架构师,主要负责财务研发部的基础组件和各系统技术方案支持,10+年互联网研发专家。

2010年入职京东并历经几乎所有618和双11挑战。精通高并发服务搭建和业务建模,曾多次主导京东财务系统架构升级和数据库升级,主导结算魔方重构,订单台账优化、价保优化等重大研发项目,对财务系统有深刻理解。



引言

系统搭建,小有小的灵活,大有大的难处,从小到大,系统该怎么打怪练级呢?


首先:守住你的底线

  • 底线?单体实例的最大处理量

  • 单体实例?泛指单个应用实例、单个缓存实例,单个存储实例

  • 底线从何而来?压测

  • 底线恒定不变?随着服务的架构变化随时调整

    如:一个实例【java实例+DB】的处理峰值为500/秒,在缓存化数据后处理峰值可以调整的5000/秒,但是缓存异常情况下,系统降级,那峰值必须要回到500/秒。

  • 守不住底线?打怪如同碰见一个大 BOSS,经由负载均衡一个个秒掉你的服务,最终全局502

  • 怎么守住底线?限流、限流、限流!

  • 限流:一个系统稳定的最底层的护城河,永远不要轻视它。

    线上的情况千变万化,交易峰值你可以规划,但是异常流量永远不可预测

    如我们的限流拆分:

640?wx_fmt=jpeg

  • 调整线上限流依据?监控,分流监控

    监控的力度也是根据限流层次同步细化


PS:我们搭建了一个流量分析平台,通过接入系统,可以通过自定义规则定义流量拆分报表,并且实现精细化流量控制


其次:不断提高底线


提高单位处理量

优化数据结构和使用缓存等手段,提升单体实例的最大吞吐量。


常用手段:

  • 网站静态流量分流:页面静态化、APP本地缓存、CDN分发

  • 数据缓存化:配置性数据本地预加载缓存,热点数据redis预加载缓存[注意:缓存也是吞吐量阀值和容量阀值]

  • 流程简化:收单流程和生产流程拆分

  • 请求流量清理:启用gzip压缩、ajax清理掉多余的数据信息


无状态化

高内聚,低耦合,将应用+DB打包成一个对外可扩展的服务模块,标准有三:

  1. 对内依赖数据的多源化

  2. 对上游实现无依赖化

  3. 对下游实现数据的自动传递


价保系统流程处理中心样例:

640?wx_fmt=jpeg


最后:统筹变化,横向扩展

1、监控为眼

统筹变化,首先要对系统的流量情况了若指掌,是通过监控系统来实现的。


2、流程优化

只有简单的业务流程才是稳定可靠的,将业务流程和接单流程拆分,针对性配置资源,才能实现性能和资源的灵活安排。


针对现在的微服务化,要根据系统所处阶段灵活拆分,任何过度设计都会导致开发量和运维量飙升,最终影响系统的稳定性。


3、横向扩展

集群化计算中心【容器+DB】,横向扩容缩容,外部依赖异常可灵活切换。


系统练级标准



640?wx_fmt=jpeg

1、单实例不死

通过DB限流和应用限流,保证单实例在大流量下冲击下,会出现服务性能变差,但是不会死掉。


2、分类型限流

在细化监控基础上,针对不同业务不同流程配置不同的限流阀值,保证异常流量可监控,可阻截,高效的提供正常服务。


3、集群扩展【DB+实例】

将DB和实例打包成一个集群,可以根据服务流量动态调整扩容缩容。


该集群具备标准:对上游通过接口扩容,数据流内部自我驱动流转,对下游主动同步。


4、外部依赖无感化

简而言之就是外部依赖接口挂掉不影响系统的核心功能,通过将相关依赖数据预抓取实现热数据备份,保证接口挂掉后自我降级,保证服务的可用性。


每个阶段都是应该随着系统的流量的增加,逐级优化,反之就是过度设计,导致研发和线上运维成本等上升,反而影响系统稳定性。




640?wx_fmt=jpeg


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2018第十届中国系统架构师大会(SACC2018)幻灯片之一 ├─10月17日 │ ├─上午:核心业务系统架构设计 │ │ 08:50 - 09:00 唐川_SACC:十年架构 成长之路.pdf │ │ 09:00 - 09:50 刘慎宝_京东集团财务系统架构设计 - 成长、演化、赋能.pdf │ │ 09:50 - 10:40 常雷_OushuDB的演进之路.pdf │ │ 10:40 - 11:30 许家滔 - 微信后台架构与基础设施简介.pdf │ │ 11:30 - 12:20 谢丹铭_AI赋能视频娱乐新体系.pdf │ └─下午 │ ├─主线1:分布式存储与中间件设计 │ │ 13:30 - 14:20 汪黎_滴滴对象存储系统架构演进实践(1).pdf │ │ 14:20 - 15:10 丁俊 - 京东KV存储产品演进.pdf │ │ 15:30 - 16:20 郭斯杰_从文件存储,对象存储到流存储 - 重新思考流计算时代的分布式存储.pdf │ │ ~$13:30 - 14:20 汪黎_滴滴对象存储系统架构演进实践.pptx │ ├─主线2:大数据平台架构设计与应用 │ │ 14:20 - 15:10 钱津津_苏宁智慧零售之电商大数据实践.pdf │ │ 16:20 - 17:10 王晓鹏_品友大数据分析平台演进.pdf │ │ 17:10 - 18:00 李亚坤_Hadoop YARN在字节跳动的实践.pdf │ ├─主线3:传统企业数字化转型实践 │ │ 14:10 - 14:50 邵萍_数字化重塑传统企业IT架构.pdf │ │ 14:50 - 15:30 黄敏_南方航空数字化转型实践.pdf │ │ 15:50 - 16:30 杨旭荣_传统企业云化IT架构建设之路.pdf │ │ 16:30 - 17:10 刘威_车联网 - 新能源车分时租赁场景下应用.pdf │ │ 17:10 - 17:50 喻继鹏_企业信息化(后台产品)的互联网化创新实践.pdf │ └─主线4:人工智能应用落地实践(上) │ 13:30 - 14:20 李佩_线上线下融合场景中的图像检测框架.pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值