0.概述
大型网站的架构都是从简单的、单一的架构不断演进到复杂的、多层次的设计。这个过程中会衍生出好多架构的思想和
解决办法,我们可以从中看到随着需求的不断变化,架构的重心也会不断的调整。从现有的架构发展可以看出以后的方向,
更能指引我们向着正确的地方前进。
1.架构演进图

2.架构思想
从架构的演进过程中我们可以看到这里面有几个重要的分割点,还有对待现实产生的问题对待的解决办法
1.堆机器
从单台服务器到多台服务器,硬件方面是为了增大机器的总内存,总CPU,软件方面是为了减少单服务器的访问瓶颈,分流减压。
2.拆模块
一个大的模块会导致牵一发而动全身,常规的解决办法是根据分类将一个大的模块拆分成多个小的,这样对于维护来说不仅能够灵活的应对需求的变更,还能够不断优化整体的结构。最终还可以将小的模块作为服务来提供,真正做到面向服务的架构。
3.做缓冲
为了不断提高性能,我们可以采用本地缓存,分布式缓存,反向代理,动静分离缓存,CDN加速以及采用消息总线的方式,这些技术都是为了将实际从远处或者获取一些大的数据量时能够对数据做一个缓冲,而不需要局限于网络和IO的瓶颈,真正提高访问的速度。
4.分分合合
分的时间长了,或者分的太细了就会很繁琐,不便于管理。我们就要将繁琐的东西归类起来,统一管理,统一配置,SOA服务治理,配置的集中管理等都是在拆分后产生问题的应对措施。
3.解决办法
常见的解决办法是,分布式部署,集中式管理。解决了一个现有的需求问题,就会带来其他的问题,我们要有所权重,服务的治理,是在做了服务的拆分后出现的,如果没有提出抽取出服务的方案就不必对服务进行治理。但是我们不能害怕产生新的问题就不采取这种方式,敢于大胆尝试才能创造出跟优良的解决方案。
4.发展的方向
随着WEB3.0的到来,技术架构的方向会不断的变化,但是基本的的原点就是应用和存储的不断转移,可以从运维的角度到软件的架构间选择,改变的方式也是在分布式和集中式间变化,各有利弊,关键是当前的架构重心是在哪里,要有取舍才能更出色。