网站的伸缩性架构

开篇

        工作已经五年了,看过的技术书籍不多,有看了几页就没看的,也有认真看完的,但凡能看完的,至少都是自己认可的好书。回顾自己的知识积累,好像忘掉的比留下的多,主要还是没有做笔记的习惯。所以决定以后每看一本书,都把重要的东西和感想写下来,方便自己复习,也好提醒自己是不是很久没看书了。《大型网站技术架构核心原理和案例分析》是最近刚看到一半的一本书,但是已经决定要把它看完,因为确实是一本不错的书籍,推荐给大家。

 

一、大型网站核心架构要素

       性能、可用性、伸缩性、扩展性、安全性,之前有幸听过某位大神的课,人家也是这么划分的,跟这本书不谋而合,也不知道是谁抄谁的(至于大神只能告诉大家是X宝、X联、X场的前首席架构师)。

 

二、网站的伸缩性架构

       所谓网站的伸缩性是指仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。

 

三、网站的伸缩性架构设计

       显然,能够改变部署的服务器数量,那么网站肯定是分布式部署的,这个时候可以从两个方向来对网站整体做一个切割。1、纵向切割:可以把网站整体根据调用依赖关系分为应用层、服务层、数据层(ps:大神分成了七层,其实大同小异,无非是把上诉三层再做进一步的切割);2、横向切割:根据业务划分进行切割,将不同的业务模块分离式部署,应用层、服务层、数据层都可以做横向切割。

       但是单台服务器的处理能力毕竟是有限的,那么就要求我们的架构支持每个业务模块能够通过集群实现伸缩性。具体来讲,可以分为应用层的集群伸缩性、服务层的集群缩性(这点书中在这一章没有提到,但在可用性章节有涉及),数据层的集群伸缩性(同时数据服务器集群又可以分为缓存数据服务器集群和存储数据服务器集群)。

 

四、应用服务器集群的伸缩性设计

        集群意味着同时有多台服务器提供相同的服务,用户发起的HTTP请求需要分发到不同的服务器上处理,负责分发HTTP请求的装置我们称之为负载均衡服务器。参见下图:

网站的伸缩性架构_第1张图片

 

4.1 HTTP重定向负载均衡

4.2 DNS域名解析负载均衡

4.3 反向代理负载均衡

4.4 IP负载均衡

4.5 数据链路层负载均衡

 

五、服务层集群的伸缩性设计

 

 

 

太晚了,留着下回写。。。。。。

      

 

 

 

 

你可能感兴趣的:(网站的伸缩性架构)