网站架构进化史

发布于: 2020 年 07 月 01 日
网站架构进化史

网站架构进化的线索

网站架构进化的过程有一条明晰的线索。

技术不能满足业务需求(产生瓶颈) -> 改进技术架构(解决瓶颈) -> 业务员发展出现新瓶颈(产生新瓶颈) -> 从架构层面产生新的解决方案(解决新瓶颈)。

业务发展导致产生瓶颈,改进技术架构解决瓶颈,螺旋上升不断推进技术发展和架构改进。

网站架构进化的流程

当负载不大的时候,需要一个MVP来验证市场的需求。成则继续发展,败则改换航道。

当业务需求被证明可行,此时最容易出现问题的部分是数据库和应用在一台主机上争抢资源。此时的架构解决方案是将数据库与应用程序分离。

因为数据库要频繁 IO ,因此最有可能成为系统的瓶颈,此时最好的方法就是增加缓存,缓存分为本地缓存和分布式缓存。应用程序首先访问缓存,通过一定的策略更新缓存数据,这样降低了数据库的压力。

当有了缓存后,瓶颈会转移到应用程序,为了加强应用程序的服务能力,应用服务器的集群方式诞生。这即增强了服务器的服务能力,也增强了服务器端高可用能力。

同样的单机能力也会发生在数据库上,于是有读写分离,数据库集群诞生。

关系型数据由于在某些方面表现不太适合搜索场景,因此 NoSql 数据库诞生。数据库为了实现大数据量高效操作,于是又了分库分表。为了解决应用间通信的问题,产生了消息队列的处理方式,这样可以实现异步处理,达到削峰填谷的目的。前端之前加上 CDN ,可以让用户的体验提升一个档次。增加反向代理,在负载均衡上有了更好的体验。企业应用不断拆分,演化出微服务。

总结

本文通过网站架构的演进图说明了架构演进过程中演进的技术栈。从集中式的部署到分布式的部署;从提升性能增加而缓存到增加 CDN 服务器;从单应用演进到应用集群,数据库集群,到应用演化到微服务,数据库分库分表。从前端代理到消息中间件,架构演化一路随着业务在演进。

发布于: 2020 年 07 月 01 日 阅读数: 6
用户头像

dongge

关注

还未添加个人签名 2017.10.19 加入

还未添加个人简介

评论

发布
暂无评论
网站架构进化史