zoukankan      html  css  js  c++  java
  • 《架构即未来》阅读笔记

    今天读了架构即漫谈这本书,总结出以下几点架构原则: 

    1.N+1设计

    要确保任何你所开发的系统在发生故障时,至少有一个冗余的实例。

    我们经常能在访问某网站时显示暂停维护,主要原因就是没有实现n+1设计原则,一个实例确实很危险,当这个实例出现不明原因的问题不能对外服务,需要debug的时候,如果优先debug,那当前实例就要暂停服务直到你找到问题为止。如果你直接重启实例恢复服务,就没有事故现场进行debug了。而这时如果有一个冗余的实例,就可以先让冗余的实例对外服务,事故现场的环境也得以保留。

    多个实例来做负载均衡也是一种不错的选择。

    2.回滚设计

    确保系统可以回滚到以前发布过的任何版本。

    以前做游戏的时候经常遇到回滚,有时候是数据库回滚,有时候是服务器端回滚,一般都是回滚到上个版本,包括我做过的微信小程序发布后依然可以回滚到上一个版本,这就能保证当前版本发生故障实现回滚版本。

    3.禁用设计

    能够关闭任何发布的功能。

    当一个功能出现严重问题不得不关闭时,如果关闭整个系统代价就有点大了,所有要有单个功能的开关。像商城系统的支付功能就一定要有开关,如果出现比较严重的bug,可以关闭支付而不影响下单。

    参考资料:https://www.cnblogs.com/andyidea/p/6294493.html

  • 相关阅读:
    理解 es7 async/await
    es6 Promise对象
    es6 Object.assign(target, ...sources)
    关于索引的一些知识
    关于this和$(this)
    js自定data-*和jquery的data()用法
    unslider插件实现轮播图效果
    清除浮动的方法
    事件绑定、事件监听和事件委托
    node.js的安装及配置
  • 原文地址:https://www.cnblogs.com/ljm-zsy/p/13094735.html
Copyright © 2011-2022 走看看