读书频道 > 网站 > 网页设计 > 看透Spring MVC:源代码分析与实践
1.5.3 集群与分布式
15-12-01    下载编辑
收藏    我要投稿   
第一篇首先讲解了网站基础知识,包括网站架构的演变以及每种架构所针对的问题、Web底层的协议以及简单的实现方法,最后分析了Tomcat的实现方法,这样可以让大家对Web有整体而且深入的理解,从而为分析Spring MV立即去当当网订购

集群和分布式处理都是使用多台服务器进行处理的,集群是每台服务器都具有相同的功能,处理请求时调用哪台服务器都可以,主要起分流的作用,分布式是将不同的业务放到不同的服务器中,处理一个请求可能需要用到多台服务器,这样就可以提高一个请求的处理速度,而且集群和分布式也可以同时使用,结构图如图1-9所示。

集群有两个方式:一种是静态资源集群。另一种是应用程序集群。静态资源集群比较简单,而应用程序集群就有点复杂了。因为应用程序在处理过程中可能会使用到一些缓存的数据,如果集群就需要同步这些数据,其中最重要的就是Session,Session同步也是应用程序集群中非常核心的一个问题。Session同步有两种处理方式:一种是在Session发生变化后自动同步到其他服务器,另外一种方式是用一个程序统一管理Session。所有集群的服务器都使用同一个Session,Tomcat默认使用的就是第一种方式,通过简单的配置就可以实现,第二种方式可以使用专门的服务器安装Memcached等高效的缓存程序来统一管理Session,然后在应用程序中通过重写Request并覆盖getSession方法来获取指定服务器中的Session。对于集群来说还有一个核心的问题就是负载均衡,也就是接收到一个请求后具体分配到哪个服务器去处理的问题,这个问题可以通过软件处理也可以使用专门的硬件(如F5)解决。


 

另外笔者还想到了一种思路可以简单地解决Session同步的问题,Session需要同步的本质原因就是要使用不同的服务器给同一个用户提供服务,如果负载均衡在分配请求时可以将同一个用户(如按IP)分配到同一台服务器进行处理也就不需要Session同步了,而且这种方法一般也不会对负载均衡带来太大的问题,如果考虑到稳定性,为了防止有机器宕机后丢失数据还可以将集群的服务器分成多个组,然后在小范围的组(如2、3台服务器)内同步Session。

架设分布式应用程序是一件非常复杂的事情,Session同步肯定是需要的,分布式事务处理和各个节点之间复杂的依赖关系也是分布式中非常复杂的问题,如果要使用分布式一定要做好足够的准备。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站