架构之集群、缓存

来源:互联网 发布:淘宝app流量软件 编辑:程序博客网 时间:2024/05/16 09:59

集群

对于用户访问集中的模块(比如网站的首页),需要将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。

因为服务器集群有更多服务器提供相同服务,因此可以提供更好的并发特性,当有更多用户访问的时候,只需要向集群中加入新的机器即可。同时因为一个应用由多台服务器提供,当某台服务器发生故障时,负载均衡设备或者系统的失效转移机制会将请求转发到集群中其他服务器上,使服务器故障不影响用户使用。所以在网站应用中,即使是访问量很小的分布式应用和服务,也至少要部署两台服务器构成一个小集群,目的就是提高系统的可用性。


缓存

缓存就是将数据放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现代CPU越来越快的一个重要因素就是使用了更多的缓存,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。

CDN : 即内容分发网络,部署在距离终端用户最近的网络服务商,用户的网络请求总是先到达他的网络服务商那里,在这里缓存网站的一些静态资源(较少变化的数据),可以就近以最快的速度返回给用户,如视频网站和门户网站会将用户量访问大的热点内容缓存在CDN。

反向代理:反向代理属于网站前端架构的一部分,部署在网站的前端,当用户的网络请求到达网站的数据中心时,最先访问到的就是反向代理服务器,这里缓存网站的静态资源,无需将请求继续转发给应用服务器就能返回给用户。

本地缓存:在应用服务器本地缓存着热点数据,应用程序可以在本机内存中直接访问数据,而无需访问数据库。

分布式缓存:大型网站的数量非常庞大,即使只缓存一小部分,需要的内存空间也不是单机能承受的,除了本地缓存,还需要分布是缓存,将数据缓存在一个专门的分布是缓存集群中,应用程序通过网络通信访问缓存数据


  使用缓存有两个前提条件,一是数据访问热点不均衡,某些数据会被更频繁的访问,这些数据应该放在缓存中;二是数据在某个时间段内有效,不过很快过期,否则缓存的数据就会因已经失效而产生脏读,影响结果的正确性。网站应用中,缓存除了可以加快数据访问速度,还可以减轻后端应用和数据存储的负载压力,这一点对网站数据库架构至关重要,网站数据库及弧度是按照有缓存的前提进行负载能力设计的。

阅读全文
0 0
原创粉丝点击