课堂作业04--大型网站架构读后感

  在《大型网站技术架构》一书中,第五章首先提到基本分层架构模型,即应用层、数据层和服务层的分离。在原先自己的XX系统中,这三个方面几乎融为一体,将三个方面都写在了一起,可以说是一个相当混乱的系统,这三个方面几乎没有什么独立的概念。这个学期重做这个系统,首先要做的就是采用合适的框架,尽自己能力的将这三个方面实现独立,使之相关联、错误却不相迅速产生连锁反应,实现整个系统整体结构上的清晰明了与可用。

  应用层中的session信息对系统的可用性也是至关重要的,大型的web网站会有大量的session信息要存储,选择一个正确的session管理方式不仅可以保证系统可用,还可以提高系统运行速度。正如上次对淘宝网架构的了解中认识到session管理的重要性。一种较好的session管理方式是使用session服务器,将服务器重新划分为有状态的无状态。

  当用户数量增加,分开部署的应用服务器和存储服务器也不堪重负,这个时候应用服务器可以复制出多台服务器组成集群,分摊用户的访问请求,如何让用户能够比较均衡的分配到应用服务器,这里在访问应用服务器之前采用一个负载均衡服务器,采用一定的算法策略,将请求均衡的分发到应用服务器。由于应用服务器是无状态的,共享数据session可以部署session服务器,还有就是添加session服务器如何让原来的请求继续访问到对应的session,这里需要采用一致性哈希算法来保证缓存的命中率,解决了session共享的问题,然后应用服务器几乎就是无状态的,工程师当用户数量增加系统应用服务器负载过高之后直接加应用服务器即可scale out(横向扩展)服务,达到比较好的伸缩性。

  高可用的数据有数据持久性、数据可访问性、数据一致性三层含义,数据备份中的热备方式有两种:异步热备、同步热备,其中同步热备较为常用。可采用同步热备的方式给XXX系统进行数据备份,以防数据丢失。

  许多Web 应用程序都将数据保存到REBMS(关系数据库管理系统)中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web 应用的速度、提高扩展性。

原文地址:https://www.cnblogs.com/dotacai/p/6581610.html