-
单体应用架构
单体应用架构
最开始的应用架构,是一台服务器,开着一个web服务,一个数据库服务。这时候的应用性能受服务器性能影响,web服务跟数据库服务共享一个cpu,承受并发有限。当应用服务已经无法承受当前流量时,先将web服务与数据库拆分到不同的服务器,能有效的提高web并发和数据库的并发能力。
单体应用架构-web端,数据库分离
这样的话,web服务和数据库因为单独使用一台服务器,受压能力提升。但是当流量进一步提升时,web服务首先承受不住压力,要么提升服务器配置(垂直扩展),要么多台服务器进行负载均衡(水平扩展)。这时候需要有个分发请求的负载均衡器。 -
垂直架构
垂直架构-web负载均衡
负载均衡器根据一定的策略实现web服务的负载均衡,但是当流量进一步上升时,数据库会承受不住压力,这时候在数据库间加个缓存和搜索引擎,降低访问数据库的频率。
垂直架构-缓存和搜索引擎
缓存用于缓存数据,能够缓解数据库压力,搜索引擎主要用于优化like查询的效率。但是这种情况当流量到一定程度的时候,还是不够,这时候就需要对数据库进行水平扩展(读写分离)。
垂直架构-数据库读写分离
整个系统能承受的并发高了,但是发现每个系统可扩展性不高,web服务到底还是一个单一的系统,当系统庞大起来时,难于维护。这时候就需要服务化了。
-
分布式架构
分布式架构-基础服务化
基础服务化后,各个功能比较明细,系统的扩展性比较高,当需要服务时,添加服务,当某个服务承受不住压力时,可以新增该服务。
网友评论