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

大型J2EE项目中的Web容器集群–Nginx+Glasshfish+Memcached+ServletFilter

阅读更多

这个标题可能让你看不明白,因为他来自H.E. 山寨 方法,或者说我这种方式将时下比较流行的几个东东进行了DIY整合。

先看看图,暂且告别一下文字:
http://www.javabloger.com/images/article_pic/glassfish/Nginx_Glasshfish_Memcached_ServletFilter_s.png

查看大图请点击这里

还没有看懂没有关系,听我慢慢的口水:
系统环境:
    1. 操作系统linux
    2. web服务器Nginx
    3.Jsp/Servlet 服务器 GlassFish,当然Tomcat/Jboss也可以。
    4.session存储 Memcached
    5.自己写的Servlet Filter 读/写 session ,以上图中架构由这5个部分组成。

压力分载
    由web服务器Nginx完成,  在 Nginx服务器的 conf/nginx.conf 文件里面加入这个配置
        #upstream backend {
        #  server 192.168.10.2:8080 weight=1;
        #  server 192.168.10.3:8080 weight=1;
        #  server 192.168.10.4:8080 weight=1;
        #}

   
    你第一次请求Nginx将去指向192.168.10.2 ,第二次请求将去指向192.168.10.3,第三次请求将去指向192.168.10.4,第四次请求将去指向192.168.10.2,第五次请求将去指向192.168.10.3,以此类推。 如果同时有100个请求,2台机器上有33个请求,另外一台机器上有34个请求。这样简单的就实现了压力分载功能。

失效转发
    通过每台机器上 Servlet Filter 组件 向中央缓存 Memcached写入,就算你的Jsp/Servlet 容器器down掉你的用户session还在 Memcached中,而最前端的 Nginx服务器会做出判断哪些机器还活着,如果其中一台机器down掉,剩下的2台机器继续平均分配负载。

优势:
    1.比传统Apache的整合方式简单了10倍更加灵活和简单,修改Nginx服务器中不到30行的配置文件就可以搞定压力分载全部功能。

    2.采用Memcached+Servlet Filter将资源合理利用,传统的方式机器越多,需要同步的session会话就越多,系统负载就越大,采用这样的架构解决了一直困扰的问题。

分享到:
评论
1 楼 javantsky 2010-09-02  
memcached的 LRU 机制不会导致你的session命中的问题吗?如果用户并发量很大,是不是会有用户刚登录没多久就导致session无效的现象呢?

还是你有其他的方式处理了?能分享下吗

相关推荐

    nginx+tomcat7+memcached session会话保持

    最后,提供的压缩包文件`nginx+tomcat+memcached`可能包含了上述所有组件的配置文件、jar包和安装脚本,帮助用户快速搭建和测试这样的系统。在部署时,务必根据实际网络环境和服务器配置进行适当的调整,确保所有...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置

    Nginx+Tomcat+Memcached集群Session共享实例

    Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果

    nginx+apache+mysql+php+memcached+squid搭建门户网站

    ### Nginx+Apache+MySQL+PHP+Memcached+Squid 搭建门户网站 #### 一、前言与架构概述 随着互联网技术的发展,如何构建一个高效、稳定且能够应对高并发访问的Web服务器成为了许多企业和开发者关注的重点。本文将...

    Nginx+Tomcat7+Memcached集群Session共享

    Nginx+Tomcat7+Memcached集群Session共享 完整例子 主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对...

    nginx+tomcat7+memcached所需jar.zip

    nginx+tomcat7+memcached所需jar.zipnginx+tomcat7+memcached所需jar.zipnginx+tomcat7+memcached所需jar.zipnginx+tomcat7+memcached所需jar.zip

    nginx+apache+mysql+php+memcached+squid搭建集群web环境(二)

    【吐血推荐】nginx+apache+mysql+php+memcached+squid搭建集群web环境(二) 此乃本人N次服务器真机实验所得,所以分数高点,望体谅.. 按教程来做,你也可以搭建linux服务器... 注:此乃分卷二,

    《APMServ 5.2.6》:一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP平台的绿色软件

    《APMServ 5.2.6》:一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP平台的绿色软件 APMServ 5.2.6 绿色服务器 PHP服务器 ASP服务器 APMServ 5.2.6 是一款拥有图形界面的快速搭建Apache 2.2.9、PHP 5.2.6...

    nginx+apache+mysql+php+memcached+squid搭建集群web环境(一)

    【吐血推荐】nginx+apache+mysql+php+memcached+squid搭建集群web环境(一) 此乃本人N次服务器真机实验所得,所以分数高点,望体谅.. 按教程来做,你也可以搭建linux服务器... 注:此乃分卷一,

    nginx+apache+mysql+php+memcached+squid搭建集群web环境

    【搭建集群Web环境详解】 在当前的Web开发领域,LAMP(Linux + Apache + MySQL + PHP)架构是最常见的选择,但对于处理大量用户访问的场景,单一服务器可能无法满足需求。因此,构建一个高效的、可靠的、稳定的集群...

    nginx+lua+redis 集群 连接插件和脚本

    在这个“nginx+lua+redis集群”解决方案中,提供的连接插件可能是指Nginx与Redis之间的通信模块,例如lua-redis-pconnector,这个插件允许Nginx通过Lua脚本直接与Redis进行交互。而脚本部分可能包括了处理业务逻辑、...

    Nginx+Tomcat+Memcached共享session集群配置

    ### Nginx+Tomcat+Memcached 共享 Session 集群配置 #### 一、概述 在大型分布式系统中,为了实现高可用性和负载均衡,常常会使用 Nginx 作为反向代理服务器来分发请求到后端多个 Tomcat 实例上。然而,传统的基于...

    CentOS6.5+mysql+nginx+php+memcached安装指南

    Windows8上安装虚拟机VirtualBox,然后新建虚拟电脑,搭建CentOS6.5 + mysql + nginx + php + memcached平台环境,部署网站。文档中记录了部分FAQ。

    Nginx+RTMP 推拉流集群方案

    Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...

    nginx+tomcat+memcached例子

    【标题】"nginx+tomcat+memcached例子"揭示了一个集成Web服务器技术的场景,其中Nginx作为前端代理服务器,Tomcat作为后端Java应用服务器,而Memcached则作为一个分布式内存缓存系统来提高整体性能。这个组合常用于...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分

    集群Nginx+Tomcat+Memcached

    ### 集群Nginx+Tomcat+Memcached #### 一、Nginx介绍与特性 **Nginx** 是一款广泛使用的高性能HTTP服务器和反向代理服务器,最初由俄罗斯开发者Igor Sysoev编写,旨在为互联网提供一个稳定、支持高并发连接的平台...

    Nginx+Tomcat+Memcached集群

    在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Memcached集群"是一种常见的架构模式。这种架构利用了Nginx的反向代理和负载均衡能力,Tomcat作为Java应用服务器处理业务逻辑,而Memcached作为分布式内存缓存...

    Web环境搭建:Linux+Nginx+PHP+Mysql+Redis

    ### Web环境搭建:Linux+Nginx+PHP+MySQL+Redis #### 一、环境概述与推荐版本 在构建一个高效且稳定的商城系统时,选择合适的Web环境至关重要。本指南将介绍一套广泛应用于电商平台的技术栈——**Ubuntu + PHP + ...

    QzzmServer V1.0.4准正式版(集成nginx+php+mysq+memcached)

    QzzmServer V1.0.4准正式版(集成nginx+php+mysq+memcached) 1.0.3版传送门如下 第一部分 http://download.csdn.net/detail/qzzmcom/5696677 第二部分 http://download.csdn.net/detail/qzzmcom/5696679

Global site tag (gtag.js) - Google Analytics