大型网站建设的可扩展架构设计

2022-11-09 10:46 公司新闻
可伸缩性架构指的是:不改变网站的软硬件设计,只通过改变部署的服务器数量就可以扩大或缩小网站的服务处理能力。


大型网站从小网站(一台廉价的PC服务器)开始自己的大型系统进化之路。在这个过程中,最重要的技术手段就是使用服务器集群,不断向集群添加服务器,增强整个集群的处理能力。只要能加入集群的服务器数量在技术上与集群的处理能力成线性关系,你就可以用这种方法不断提升你网站的规模,这就是系统的可扩展架构。

[div]

总的来说,演进过程是渐进的,网站和服务器的规模总是在扩大,也就是总在“拉伸”。但也有可能是由于运营(推广活动)的需要,在短时间内,网站访问量和交易规模突然爆发,之后又恢复正常。这就要求网站的技术架构具有极佳的可扩展性——在活动期间向服务器集群添加更多的服务器以满足用户的访问,然后在活动结束后将这些服务器离线以节省成本。

[div]


1设计可扩展的架构

[div]

网站架构发展的历史,其实就是一部不断给网站添加服务器的历史。

[div][div]

可扩展架构分为两种类型:


*根据功能进行物理隔离-不同的服务器部署不同的服务。


*单一功能通过集群实现——集群中的多台服务器部署相同的服务,提供相同的功能。

[div][div]

[div]

在基于功能的实体子网站发展初期,一些功能和服务总是从现有的服务器中分离出来:每次分离都会有更多的服务器加入,开发出了微信微信官方账号小程序。这些新添加的服务器用于处理特定的服务。这种可扩展的方法可以在网站开发的任何阶段使用,分为垂直分离和水平分离两种情况。


垂直分离(分层后分离):在业务流程中分离和部署不同的层。


横向分离(业务分割后的分离):分离部署不同的业务模块。分离的水平粒度可以非常小。例如,一个关键的网页可以被独立地、专门地部署为一个服务。

[div][div]

单功能集群部署


在“按功能物理分离”的模式下,随着网站访问量的增长,即使是分离到最小粒度的独立部署也未必能满足业务规模的需求。这时就必须使用集群,即在多台服务器组成的集群上部署相同的服务,实现整体对外服务。


当一头牛拉不动动车时,与其找一头更壮的牛,不如用两头牛来拉车。服务的集群规模需要考虑可用性、性能和相关服务集群的影响。

[div][div]

2应用服务器集群的可扩展设计

[div][div]

以无状态模式设计应用服务器,以便用户请求可以通过负载平衡服务器转发到不同的应用服务器:

[div][div]

负载均衡服务器可以感知或配置集群中的服务器数量,从而将请求分发到新的在线服务器,停止离线服务器,从而实现应用服务器集群的可扩展性。

[div][div]

负载均衡技术不仅可以实现可扩展性,还可以提高网站的可用性,因此是网站技术的杀手锏之一。湾仔镇网站seo优化哦(∩ _ ∩) o ~

微信与项目经理沟通

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

阅读
上一篇:关于网站写作的几点建议?
下一篇:企业网站建设目录结构的标准化