`
sslaowan
  • 浏览: 379576 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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服务器宕机儿丢失,因而起到了灾难回复的作用。经 过一段时间的使用,整个集群又进入一个稳定均衡的状态。

分享到:
评论

相关推荐

    Web Sessions Installation .docx

    Web会话安装是一个关键步骤,尤其对于需要在分布式环境中运行的Web应用程序来说。本文将详细介绍如何在不使用Terracotta DSO(Data Sharing Objects)的情况下集群Web会话,以及安装和配置过程。 首先,让我们来看...

    在Web Services中管理Sessions

    在Web服务中管理Session是构建可扩展且状态感知的应用程序的关键...无论选择哪种方式,重要的是理解它们的工作原理,以及如何在Axis这样的Web服务框架中正确配置和使用它们,以确保高效、安全地管理Web服务的Session。

    MantenerSesion_C#_Sessions_web_asp.net_

    "MantenerSesion_C#_Sessions_web_asp.net_"这个主题主要关注如何在C#环境下利用ASP.NET的Session机制来保持用户的会话状态。下面将详细介绍这一知识点。 首先,会话(Session)是一种服务器端存储用户状态的...

    Paypal Sessions Viewer--for zencart1.5

    Paypal Sessions Viewer的工作原理是读取和解析在用户与Paypal系统交互时在服务器上存储的会话信息。这些会话数据通常包含了用户登录、验证、支付等一系列操作的详细记录。通过查看这些信息,商家可以追踪到交易过程...

    i-Sessions - MetaTrader 5脚本.zip

    学习并理解“i-Sessions”脚本的工作原理,不仅可以帮助你更好地利用这款工具,还可以提升你在MT5平台上的编程能力,为创建更多个性化的交易工具奠定基础。同时,深入研究MQL5编程语言,将使你能够定制更复杂的交易...

    开源项目-adam-hanna-sessions.zip

    总的来说,"adam-hanna-sessions" 是一个专注于提升Web应用会话管理体验的开源工具,它旨在简化开发流程,提高性能,同时提供足够的灵活性,以适应不同的开发场景和需求。通过参与和利用这样的项目,开发者可以受益...

    virtual-art-sessions, "Virtual Art Sessions" Chrome 实验的源.zip

    virtual-art-sessions, "Virtual Art Sessions" Chrome 实验的源 虚拟艺术课程这个库镜像了活动的虚拟艺术会话站点( 代码 NAME 项目 Udon ),并已经打开了Apache许可 2.0,让任何感兴趣的人都可以发现它,看看它是...

    Go-Sessions用于http服务器的简单高性能高度可定制的用户会话

    Sessions 用于http服务器的简单,高性能,高度可定制的用户会话

    How to kill terminal server sessions

    Utilities for terminal services: qwinsta and rwinsta

    django-redis-sessions, 在Redis数据库中,用于存储会话的Django 会话后端.zip

    django-redis-sessions, 在Redis数据库中,用于存储会话的Django 会话后端 django-redis-sessions用于你的会话的Redis数据库后端 安装工具可用设置变更日志文件安装运行 pip install django-redis-sessions 或者另外...

    基于PHP的红鸟Sessions类v1.0源码.zip

    Sessions 在Web开发中扮演着重要的角色,它允许开发者在用户浏览器会话之间存储数据,从而实现状态管理。这个压缩包很可能包含了实现这一功能的自定义Session管理类,帮助开发者更高效、安全地处理用户会话数据。 ...

    Flask Web Development.pdf 最新 原版

    ### Flask Web Development Key Concepts #### Introduction The book "Flask Web Development" by Miguel Grinberg is a comprehensive guide aimed at teaching developers how to create robust web ...

    MobaXterm_20.5官方版.zip_sessions99个

    在MobaXterm_20.5官方版中,"sessions99个"可能是指该版本包含了99个预定义或已保存的会话配置。这些会话可能是用户经常访问的不同服务器或网络设备的配置,每个会话都保存了特定的连接参数,如主机名、端口、用户名...

    前端开源库-client-sessions

    总之,`client-sessions`是前端开发中一个强大的工具,它提供了一种安全且独立于服务器的会话管理方案,使开发者能够构建更加高效和安全的Web应用程序。在使用过程中,了解并掌握上述知识点,将有助于提升应用的性能...

    PyPI 官网下载 | django-user-sessions-0.1.0.tar.gz

    `django-user-sessions-0.1.0.tar.gz`文件提供了Django用户会话管理的增强版工具,帮助开发者构建更安全、更高效的Web应用。通过集成这个库,可以更好地管理用户会话,提升应用的用户体验,同时增强了系统的安全性。...

    红鸟Sessions类 v1.0

    红鸟Sessions类,用mysql数据库接管原来由文件系统支撑的php session,解决了session兼容性、虚拟主机无法自定义session等问题,内置gc函数,可以按概率触发删除过期session。...hn_sessions.sql:数据库sql文件;

    Python库 | dj-dynamodb-sessions-0.8.4b0.tar.gz

    标题中的“dj-dynamodb-sessions-0.8.4b0.tar.gz”是一个Python库的压缩包,主要用于处理Web应用程序的会话管理。这个库的独特之处在于它将会话数据存储在Amazon DynamoDB数据库中,而不是传统的文件系统或内存中。...

    log-sessions-2021-08-21-041328.session

    log-sessions-2021-08-21-041328.session

    Go Web Development Cookbook2018

    managing HTTP sessions using Redis, which is required for a web application deployed across multiple data centers. Chapter 4, Writing and Consuming RESTful Web Services in Go, explains how to write ...

Global site tag (gtag.js) - Google Analytics