首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Terrocatta Web Sessions原理(转从论坛)

2012-07-01 
Terrocatta Web Sessions原理(转自论坛)http://forums.terracotta.org/forums/posts/list/2904.page?由于T

Terrocatta Web Sessions原理(转自论坛)

http://forums.terracotta.org/forums/posts/list/2904.page

?

由于Terracotta服务器对所有集群中共享的数据和客户端程序都作记录和管理,在客户端对任何一个共享数据的访问都最终变成对服务器上的数据的请求(当然里面有复杂的缓存机制,这里为简单起见,暂时不考虑),服务器也就记录了哪一个客户端在使用哪一个数据对象的信息。

当一个节点修改一个共享数据的时候,Terracotta服务器就反查该对象被哪一些客户端使用了,然后把修改的数据通知给那些客户端。这样做不仅保证了数据的全局一致性,当其他节点访问这个数据的时候,他们只需要在本地内存访问(因为数据被服务器push过来了),效率也很高。

? 如果你使用Terracotta Session集群,我们的确建议您在Web服务器前端安装负载均衡器,通过Sticky Session来分发http请求。这样相同用户的请求总被发送到相同的Web服务器上。他的session也就只保存在这一台Web服务器和Terracotta服务器上。这样做的好处是效率高。由于任何一个session只在一个web服务器上使用,对session的修改就不会引起该数据向其他节点的发送。
但是,当该节点宕机的时候,负载均衡器会把该节点原来处理的用户的请求转发到其他节点。当其他节点需要获取这些用户的session的时候,Terracotta服务器会从服务器上把这些数据转过来,这样session的数据不会因为web服务器宕机儿丢失,因而起到了灾难回复的作用。经过一段时间的使用,整个集群又进入一个稳定均衡的状态。

热点排行