`
wutao8818
  • 浏览: 618109 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

无共享架构(Share Nothing Architecture)

阅读更多

关于集群的补课 (转)

http://www.blogjava.net/RongHao/archive/2007/02/12/99560.html

昨天发了个很什么的随笔,今天把与集群有关的东西搜了搜。整理一下。
什么是集群,集群的概念。下面这个BLOG讲的非常清楚:
http://blog.csdn.net/ESoftWind/archive/2006/10/19/1341089.aspx
web层次的集群方案讨论,看完javaeye相关的讨论,你会大概了解:
http://www.iteye.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里面东西越少越好,越稳定越好。
谁有这方面的经验?

------------------------------------------------------继续收集-----------------

wiki

http://en.wikipedia.org/wiki/Shared_nothing_architecture

 

高扩展WEB应用HTTP SESSION共享方案

http://blog168.chinaunix.net/space.php?uid=15114047&do=blog&cuid=2418373

 

 

一个现成的基于修改 tomcat session 存储至 memcache 的成熟开源项目

 

http://code.google.com/p/memcached-session-manager/

 

 

分享到:
评论
7 楼 wutao8818 2010-08-10  
key232323 写道
……最近自己稍微实现了下,

但遇到来一个问题 ,还是老话题,cookie domain

我想实现下,http://domain1.com下用户登录了以后,http://domain2.com下到应用也可以不用登录就使用。

结果,一次登录要addCookie一堆,太恶心了阿。


SNA和SSO是一回事吗?SNA没说就能跨域。
6 楼 key232323 2010-08-10  
……最近自己稍微实现了下,

但遇到来一个问题 ,还是老话题,cookie domain

我想实现下,http://domain1.com下用户登录了以后,http://domain2.com下到应用也可以不用登录就使用。

结果,一次登录要addCookie一堆,太恶心了阿。
5 楼 wutao8818 2010-01-25  
key232323 写道
恩,你说的方法思路很清晰啊,

不知道哪里有性能测试的一些具体数据



仅供理论参考。暂无实际运行数据
4 楼 wutao8818 2010-01-25  
houxinyou 写道
还有使用分布式Cache应该怎么处理?

? memcache很好用,很简单,一试就会了
3 楼 houxinyou 2009-11-20  
还有使用分布式Cache应该怎么处理?
2 楼 houxinyou 2009-11-20  
那什么时候把保存到数据库和分布式 Cache里的清除掉呢?
1 楼 key232323 2009-02-08  
恩,你说的方法思路很清晰啊,

不知道哪里有性能测试的一些具体数据

相关推荐

    局域网打印共享printershare

    局域网打印共享后,总会出现一些问题,就是共享不了。这个软件解习了96%的问题。

    共享内存Share Memory

    在这个“ShareMemory”压缩包中,可能包含了一个用VC编写的示例程序,用于演示如何创建和使用共享内存。 共享内存的优点在于其高效性,因为数据无需通过复制就能在进程间共享,减少了数据传输的时间开销。然而,也...

    两款一键共享软件 share for xp 绿茶

    两款一键共享软件,轻松实现局域网共享 share for xp 绿茶

    打印共享printer share

    PrinterShare移动打印直接打印手机或机顶盒上的文件、包括来自SD 卡及Google 文件、Gmail、相片、联络资料、行事历、SMS/MMS、通话记录及网页的文件(DOC、DOCX、XLS、XSLX、PPT、 PPTX、PDF、TXT)。

    日本知名P2P资源共享软件Share EX2免安装版

    日本知名P2P资源共享软件Share EX2免安装版 作者为此惹了不少麻烦 配置较为复杂 请参看站内已有教程

    DeskTopShare屏幕共享软件

    6. **多平台支持**:DeskTopShare可能兼容Windows、Mac OS等多种操作系统,确保不同设备用户可以无障碍地参与屏幕共享。 7. **安全加密**:为了保障数据安全,DeskTopShare采用了先进的加密技术,确保屏幕共享过程...

    WebShare,Http文件共享器

    WebShare的核心功能在于设置目录共享。用户可以指定本地的一个特定文件夹,该文件夹内的所有内容都将通过Http协议对外提供服务。这为用户提供了极大的灵活性,无论是临时分享单个文件,还是长期公开某个资源库,都...

    共享键鼠标ShareMouse

    "共享键鼠标ShareMouse"是一款创新的软件工具,旨在实现局域网内的键鼠共享功能。这意味着用户可以利用一套键盘和鼠标同时控制多台电脑,极大地提升了多设备操作的效率和便捷性。这款软件的核心技术在于它能将用户的...

    ShareIT.zip_ShareIT_resource_shareit设置共享_tai shareit_visual c

    《ShareIT资源共享程序详解与实现》 在IT领域,数据和资源的高效共享是提升协同工作效率的关键。本文将深入探讨“ShareIT.zip_ShareIT_resource_shareit设置共享_tai shareit_visual c”这一主题,这是一份关于利用...

    i2share网络共享

    i2Share是一款专注于解决企业文件管理难题的网络共享解决方案,旨在应对信息化时代数据量急剧增长带来的挑战。这款产品采用文件云存储管理技术,为企业提供文件的集中管理、跨平台同步以及安全共享的功能。i2Share的...

    DeskTopShare(桌面屏幕共享)V2.2.3.0中文安装版

    DeskTopShare(桌面屏幕共享)是一款支持多人远程桌面、虚拟投影仪的屏幕共享软件,可以在局域网内远程显示对方机器的桌面(支持远程控制)。 需要的朋友们可以下载试试吧!软件特点: 1、支持服务端可查看连接用户列表...

    netshare局域网共享文件扫描

    标题“netshare局域网共享文件扫描”涉及的是一个使用C++编程语言开发的软件工具,该工具的主要功能是扫描并列举局域网内的共享文件。这个程序在控制台上运行,提供了一种简洁的方式来查找和访问网络环境中其他...

    Share-data-through-DLL.zip_dll_dll 共享_share

    标题"Share-data-through-DLL.zip_dll_dll 共享_share"暗示了本压缩包的内容是关于如何使用DLL来实现跨进程的数据共享。下面将详细阐述这个主题。 首先,DLL是一个包含可由多个执行文件(如应用程序或服务)同时...

    娱乐共享(allshare)

    通过AllShare功能,用户可将手机与三星电视机进行无线连接,通过大荧幕直接播放手机中的内容

    共享内存(share memory)的实现简要

    ### 共享内存(Share Memory)的实现简要 #### 一、系统V共享内存原理 在探讨系统V共享内存之前,我们先回顾一下共享内存的基本概念。共享内存是一种进程间通信(IPC)机制,允许两个或多个进程共享同一块内存区域。...

    DeskTopShare桌面屏幕共享软件

    DeskTopShare是一款专为办公环境设计的桌面屏幕共享软件,其主要功能是实现远程桌面共享和控制,方便团队成员在会议、文档评审、Office文档演示等场景下进行实时互动。这款软件尤其适合需要电脑端同步演示和培训演示...

    真正可用的破解版USB共享软件USB Device Share

    唯一真正可用的USB共享软件,好于其他的USB共享专家等,能加备注,显示设备信息,英文版,但是绝对好用,很容易看懂

    桌面共享DeskTopShare

    用于局域网内分享桌面,免费。需要.net支持,如有需要请自行下载。

    桌面共享软件DeskTopShare

    DeskTopShare桌面屏幕共享是一个多人远程桌面共享软件,这款桌面屏幕共享能够在网络上替代投影仪,实现多人演示。可以在局域网内远程显示对方机器的桌面(支持远程控制)。 服务端可查看连接用户列表,用户姓名,连接...

    UOS qt 环境结合DTK控件实现 共享内存 sharememory

    本案例中的“UOS qt 环境结合DTK控件实现 共享内存 sharememory”是针对Debian深度操作系统(Deepin Linux,其桌面环境基于Unity)上,使用Qt框架和DTK(Deepin Toolkit)库来创建一个通过共享内存进行通信的示例。...

Global site tag (gtag.js) - Google Analytics