分布式架构设计的核心理念是“并行拆分与横向扩展”,即按照一定维度将系统进行拆分,系统各部分松耦合并行运行,并建立起较为完善的横向扩展与容错恢复机制。
为什么要进行分布式架构
在访问量或者QPS没有达到单台机器的性能瓶颈的时候,根本没必要进行分布式架构。那如果业务量上来了,一般会怎么解决呢?
1)硬件升级
带宽不够?加带宽,1G不够用100G。CPU 8核不够?搞32核96核。
其次就是系统拆分,将所提供服务的主流程以及支线流程梳理出来,按照流程进行系统拆分。
最后手段才会考虑分布式架构
所以只有等业务量到达一定程度了,单台机器扛不住了,才会开始堆钱升级机器,系统拆分,换技术,继续堆钱升级机器,系统拆分…周而复始,发现成本太高或者技术已经到达上线了。最后没办法,就选择分布式架构了。
但是分布式架构的优势也是明显的,用一群低廉的设备,来提供一个高性能高吞吐量的稳定的系统
分布式架构具备了多方面的优势: