zoukankan      html  css  js  c++  java
  • 京东峰值系统设计读后感

    阅读文章:京东峰值系统设计

    文章网址:https://mp.weixin.qq.com/s?__biz=MzIyNjE4NjI2Nw==&mid=2652557375&idx=1&sn=67d06b1df3d1224b556f70773912bfb0&chksm=f39a354bc4edbc5d241ce1aa0f4e9f0c88905e9c7dbd26feb66724f16af049a3eaf2995f38f3&scene=21#wechat_redirect

    京东电商系统的设计时围绕系统稳定性、可靠性、高发性和可扩展为核心开展的。京东系统的特点:京东的业务种类繁多,使得系统庞大,外部需要对接供应商、消费者和第三方商家三大板块。内部系统包括了商品供应链中除商品设计和生产外的几乎所有环节,包括登录、交易、后台、供应链、仓配、客服等。所有的系统造就了庞大的体系,因此,一切优化方案都以保持系统稳定为前提。

    京东峰值系统的设计主要从性能提升、流量控制、灾备降级、压测预案四个角度进行。

    (1)切分业务系统。将京东的整个业务体系拆分为几个相对独立的子系统SSO、交易平台、POP平台、订单下传系统、WMS和仓储配送。每个子系统又可细分为若干部分,逐级简化,直至可操作可优化的层级。

    (2)分布式。分布式的交易系统是电商的未来。分布式系统解决两大难题:提高用户体验和增强容错能力。由于分布式系统设计时就会留有相当的流量增长空间,所以当一处数据中心饱和时,可以将其余的流量切入其他相对宽松的数据中心去,从而达到互为备份、互相支持的目的。与此同时,由于为提供用户就近服务,所以减少了网络延时,页面反应速度加快了。

    (3)API服务。API服务化可以高效统一的管理组件,最好由一个训练有素的团队集中管理这些组件并对外提供接口服务,将软件的使用复杂性隐藏起来,调用的是简单利索的API。让专业人员去处理复杂逻辑,确保系统的可用性和扩展性,既能大大降低出错概率,又能实现规模效益。

    (4)架构,代码优化。一个合理的电商系统架构是与一家公司的研发水平和技术管理水平密不可分的,这直接决定了可支撑峰值流量的多少和未来能达到的高度。选取适合自身发展的框架,既能充分发挥其效能,又可节约资源。代码优化也能提高效能,例如对于SQL语句的优化,能更好地利用索引;Java/C++逻辑的优化,减少了不必要的循环和复杂的操作;算法优化,使之更高效;功能实现逻辑的优化,变得更简洁和清晰;但代码优化终究不能冲破极限, 难以追求极致,适可为止为宜。

    (5)系统虚拟弹性化。

    当磁盘I/O不是瓶颈时,解决系统水平扩展就会变得容易许多。可以通过ZooKeeper或类ZooKeeper将软件栈有机地串联起来,并配以有效的性能监管。当事务处理成为瓶颈时,利用当今流行的虚拟化技术(如LXC或VM)可以在没有人为干预的状况下自动进行弹性扩展。

  • 相关阅读:
    ifelse选择结构
    Chrome插件开发进阶
    java应用线上一次故障诊断分析
    阻止保存要求重新创建表的更改
    【设计模式系列】行为型模式之Mediator模式
    C#.NET第一阶段课件下载
    Unity Animation.CrossFade Animation.Play
    Unity Resources.Load
    Unity Transform
    VS Ctrl + Shift + Q
  • 原文地址:https://www.cnblogs.com/lijing925/p/11040656.html
Copyright © 2011-2022 走看看