随着业务规模的进一步扩大,单机服务器所承担的压力也逐渐攀升,通过在硬件上升级可以在一定程度上环节服务器压力。但在硬件上垂直扩展不可能能无限制进行下去,总会到达一个临界点之后很难再去升级,在笔者写稿时,一般32核CPU,128G内存已经接近于普通服务器的顶配了,在升级就要考虑昂贵的小型机了,但对于多数公司,很难接受其性价比。所以从这个时期开始,整个系统的后端架构逐渐向分布式架构过度,这是是中大型互联网公司普遍采用的架构。
在这个阶段,最有可能首先采用的分布式架构是在应用服务器层使用负载均衡技术,通过多台服务器同时提供服务,在应用服务器之上使用负载均衡软件分散流量,后端服务器可以分摊压力,同时也具备水平扩展的能力,在不改变架构的情况下,水平增加服务器数量就可以快速增加服务能力。
在支持水平扩展的架构下,应用的服务能力可以迅速提升,这就要求后端支撑系统也要具备迅速扩容的能力。对于缓存服务器需要在不停机维护的前提下,又要要增加服务器就可以增加集群整体的存储容量和负载压力,队列服务器集群同理。数据也需要水平拆分,原来一张表的数据按照一定的逻辑(比如取模,按日期进行拆分)拆分成多份,分不到多个书,多个数据库进行存储。
另外,分布式架构还有解决了单点问题,效解增加服务的可用性,在单台服务器宕机之后还有其他服务器提供服务,从而保证了整体服务的连续可用。