posts - 193,  comments - 520,  trackbacks - 0
昨天发了个很什么的随笔,今天把与集群有关的东西搜了搜。整理一下。
什么是集群,集群的概念。下面这个BLOG讲的非常清楚:
http://blog.csdn.net/ESoftWind/archive/2006/10/19/1341089.aspx
web层次的集群方案讨论,看完javaeye相关的讨论,你会大概了解:
http://www.javaeye.com/topic/20298
注意里面robbin的无共享架构(Share Nothing Architecture)SNA。
web层次的集群主要技术就是:负载均衡和http session的失败转移。
负载均衡不再多说,焦点在于http session的失败转移。各个节点的http session复制会极大的影响性能。如何避免,robbin提出保持每个节点的无状态性,不再使用Session来保持全局状态。用户标示从cookie取得,假设不使用分布式Cache,session直接放在数据库中。他推荐了memcached作为分布式Cache,这样在从数据库读取session时中间又隔了一层Cache来提高性能。
大致的方法是这样:用户登陆的时候给他一个cookie,存放userId,同时给这个用户分配一个Session,存放user对象,然后 把这个session保存到数据库和分布式 Cache里。黏性会话。写一个filter或者 webwork拦截器对用户请求进行拦截,如果他有cookie,但是session里面没有user对象,说明前一个节点down掉了,就根据 cookie里面的userId查数据库或者是分布式 Cache获得先前保存的session,把原先的session复制到他的新session里面。这样各个节点间的 session就不用复制,因为 session是没有状态的。我们的程序对使用session不受影响,只是session里的对象要可序列化,当改变session里的对象时需要同步 到cache和数据库。当然,效率的原因,session里面东西越少越好,越稳定越好。
谁有这方面的经验?


http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)
posted on 2007-02-12 23:18 ronghao 阅读(1293) 评论(0)  编辑  收藏 所属分类: 工作日志

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

关注工作流和企业业务流程改进。现就职于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

常用链接

留言簿(38)

随笔分类

随笔档案

文章分类

文章档案

常去的网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜