交易型系统设计的一些原则

  • 前言

期待已久的 《亿级流量网站架构核心技术》 终于到手了 。

  • 介绍 
  1. 先介绍两个原则吧 

    墨菲定律 :  1 、 任何事多没有表面看起来那么简单  2 、 所有的事多会比你预计的时间要长  3 、可能出错的事总会出错  4 、 如果你担心某种情款要发生 , 那么它就更有可能发生

    康威定律 :  1 、 系统架构应该是公司组织架构的反应  2 、应该按照雨雾闭环进行系统拆分/组织架构划分 ,实现闭环/高内聚/低耦合,减少沟通成本  3 、如果沟通出现问题,那么就应该进行组织架构的调整  4 、在合适的时机进行系统拆分,不要一开始就给系统拆分的非常细,虽然闭环,但每个人维护的系统多,维护成本比较高

  1. 高并发原则
  •      无状态    -- 应用无状态  配置文件有状态 通过配置中心去配置配置文件
  •         拆分   -- 需要考虑投入的资源情况 ,系统维度: 按照业务拆分 功能维度 : 对系统按照功能拆分 读写维度 :读大于写 , 应该考虑读写分离 ,缓存提升性能 ;写大于读 ,应该考虑分库分表 ;聚合读写的 , 应该考虑 数据异构拆分系统,聚合存储; AOP 维度 : 应该考虑cdn加速 模块维度 : 按照基础或者代码维护进行拆分,如基础模块分库分表,数据库连接池
  •            服务化   --     随着调用量越来越大 , 应该考虑服务的自动注册于发现,需要考虑服务的分组/隔离 还要考虑一些超时重试, 限流,黑白名单等问题 
  •            消息队列   -- 如果订阅者太多 ,单个消息队列机会成为瓶颈, 需要注意 生产消息失败 , 以及消息重复接受时的场景 , 对于不能容忍失败的业务场景 需要增加日志 , 报警 等 , 在一些场景下回发生消息的重复接受的问题 , 应该在业务上进行 防重设计
  •            大流量缓冲   -- 

  

 

posted on 2017-06-12 13:42  it学-者  阅读(85)  评论(0)    收藏  举报