从零开始学架构

第一章 架构基础

1.架构设计的复杂度来源

1.1 高性能

1.1.1单机复杂度

1.1.2集群复杂度

集群复杂度包括任务分配的复杂度,任务分解复杂度。任务分配器比如硬件网络设备,或负载均衡的软件设备。任务分解即微服务的拆分。

思考:1、既然将一个大系统分解为多个子系统能够提升性能,是不是拆分得越细越好呢?答案是否定的,最主要的原因是如果系统拆分得太细,为了完成某个业务,系统间的调用会呈指数级上升,而系统间的调用通道目前都是通过网络传输的方式,性能远比系统内的函数调用要低得多。

1.2 高可用

系统的高可用方案五花八门,但万变不离其宗,本质上都是通过“冗余”来实现高可用。

高可用又可分为计算高可用和存储高可用,存储高可用的难点不在于如何备份数据,而在于如何减少或规避数据不一致对业务造成的影响。

1.3可扩展性

设计具备良好可扩展性的系统,有两个基本条件:正确预测变化、完美封装变化。

第十章 业务高可用

1、异地多活

判断一个系统是否符合异地多活,需要满足如下两个标准:

1、正常情况下,用户无论访问哪一个地点的业务系统,都能够得到正确的业务服务。

2、某地系统异常的情况下,用户访问到其他地方正常的业务系统,也能够得到正确的业务服务。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容