架构笔记
第一个设计原则是冗余无单点。
第二个设计原则是水平扩展。
第三个原则是柔性事务。
柔性事务具体的实现方式有很多,比如说,通过异步消息在节点间同步数据。当然,不同的方式,对 C 和 A 的支持程度是不一样的,我们在设计系统时,要根据业务的特点来决定具体的方式。
第四个原则是系统可降级。
限流:让部分用户流量进入系统处理,其它流量直接抛弃。
降级:系统抛弃部分不重要的功能,比如不发送短信通知,以此确保核心功能不受影响。
熔断:我们不去调用出问题的服务,让系统绕开故障点,就像电路的保险丝一样,自己熔断,切断通路,避免系统资源大量被占用。比如,用户下单时,如果积分服务出现问题,我们就先不送积分,后续再补偿。
功能禁用:针对具体的功能,我们设置好功能开关,让代码根据开关设置,灵活决定是否执行这部分逻辑。比如商品搜索,在系统繁忙时,我们可以选择不进行复杂的深度搜索。
关于作者
后端程序员,五年开发经验,从事互联网金融方向。技术公众号「清泉白石」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。