JBoss_053:使用JDG外部缓存HTTP Session

标签: JBoss | 发表时间:2015-07-31 06:54 | 作者:noreply@blogger.com (千红一窟)
出处:http://maping930883.blogspot.com/
环境:JBoss EAP 6.4.0 + JBoss Data Grid 6.5.0

JBoss Data Grid 6.5.0 有个新特性:可以把JDG 作为外部缓存来存储HTTP Session,这样做的好处是:
(1)减轻了应用服务器的内存压力以及集群节点间的 Session 复制。
(2)利用JDG的横向扩展能力,可以容纳更多的 Session 对象。
(3)利用JDG的数据冗余机制,可以保证 Session 对象不丢失。

本文介绍如何使用JDG外部缓存HTTP Session,其中
(1)使用两个JBoss EAP 6.4.0 组成Standalone Mode 集群
(2)使用一个JBoss Data Grid Server 作为外部缓存来存储HTTP Session(可以扩展成多个节点)

主要步骤:

1. 配置JBoss  EAP Standalone Mode 集群

1.1 安装与启动 JBoss EAP 6.4.0
(1)unzip jboss-eap-6.4.0.zip
(2)cd jboss-eap-6.4/bin
(3)./standalone.sh
(4)http://localhost:9990/,访问出错,提示创建用户
(5)./add-user.sh
(6)http://localhost:9990/,点击Try again,输入管理员账户口令
(7)停止 EAP

1.2 配置两个节点的JBoss EAP 集群
(1)mkdir node1
(2)cp -r ./jboss-eap-6.4/standalone/configuration ./jboss-eap-6.4/standalone/deployments ./jboss-eap-6.4/standalone/lib node1
(3)mkdir node2
(4)cp -r ./jboss-eap-6.4/standalone/configuration ./jboss-eap-6.4/standalone/deployments ./jboss-eap-6.4/standalone/lib node2
(5)./standalone.sh -Djboss.server.base.dir=/Users/maping/Redhat/eap/demo/node1 -c standalone-ha.xml -b 127.0.0.1 -bmanagement 127.0.0.1 -u 239.255.100.100 -Djboss.socket.binding.port-offset=100 -Djboss.node.name=node1
(6)./standalone.sh -Djboss.server.base.dir=/Users/maping/Redhat/eap/demo/node2 -c standalone-ha.xml -b 127.0.0.1 -bmanagement 127.0.0.1 -u 239.255.100.100 -Djboss.socket.binding.port-offset=200 -Djboss.node.name=node2
(7)http://localhost:10090/console/ 部署 cluster_test.war
(8)http://localhost:10190/console/ 部署 cluster_test.war
(9)http://localhost:8180/cluster_test/
(10)http://localhost:8280/cluster_test/ 
分别刷新 http://localhost:8180/cluster_test/页面和http://localhost:8280/cluster_test/ 页面,如果发现统计数字在两个页面中是持续增加的,就说明集群配置成功。

  2. 安装与启动 JBoss Data Grid 6.5.0
 (1)unzip jboss-datagrid-6.5.0-server.zip
 (2)cd jboss-datagrid-6.5.0-server/bin
 (3)./standalone.sh

  3. 配置JDG外部缓存HTTP Session

 3.1 修改node1下的standalone-ha.xml文件
 (1)把原来的cache-container name="web" 内容

<cache-container name="web" aliases="standard-session-cache" default-cache="repl" module="org.jboss.as.clustering.web.infinispan">
    <transport lock-timeout="60000"/>
    <replicated-cache name="repl" mode="ASYNC" batching="true">
        <file-store/>
    </replicated-cache>
    <replicated-cache name="sso" mode="SYNC" batching="true"/>
    <distributed-cache name="dist" mode="ASYNC" batching="true" l1-lifespan="0">
        <file-store/>
    </distributed-cache>
</cache-container>
替换为
<cache-container name="web" default-cache="default-cache" module="org.jboss.as.clustering.web.infinispan" statistics-enabled="true">
    <transport lock-timeout="60000"/>
    <replicated-cache name="default-cache" mode="SYNC" batching="true">
        <remote-store cache="default" socket-timeout="60000" preload="true" passivation="false" purge="false" shared="true">
            <remote-server outbound-socket-binding="remote-jdg-server1"/>
        </remote-store>
    </replicated-cache>
</cache-container>

(2)在socket-binding-group中增加如下内容:
<outbound-socket-binding name="remote-jdg-server1">
    <remote-destination host="localhost" port="11222"/>
</outbound-socket-binding>
 (3)重启 node1

 3.2 修改node2下的standalone-ha.xml文件
修改内容和 node1 完全一样。

4. 再次访问cluster_test应用,效果跟JBoss EAP 集群一样,但HTTP Session是存储在JBoss Data Grid Server上的。

参考文献:
1. 《Red_Hat_JBoss_Data_Grid-6.5-Administration_and_Configuration_Guide-en-US.pdf》

相关 [jboss jdg 外部] 推荐:

JBoss_053:使用JDG外部缓存HTTP Session

- - 热爱Java ,热爱生活
环境:JBoss EAP 6.4.0 + JBoss Data Grid 6.5.0. JBoss Data Grid 6.5.0 有个新特性:可以把JDG 作为外部缓存来存储HTTP Session,这样做的好处是:. (1)减轻了应用服务器的内存压力以及集群节点间的 Session 复制. (2)利用JDG的横向扩展能力,可以容纳更多的 Session 对象.

\(^_^)/ Jboss资料

- - 编程语言 - ITeye博客
官网: http://www.jboss.org/. 下载: http://www.jboss.org/jbossas/downloads/. Jboss博客: http://jbosscn.iteye.com/. 中赢网Jboss: http://www.chinawin.net/tag/jboss/.

JBoss发布Hibernate 4.0

- - InfoQ cn
近日, JBoss发布了流行的对象/关系(O/R)映射框架 Hibernate. Hibernate 4主要的新特性如下所示:. 引入了“Services”API. 提供了更棒的日志,支持 i18n与消息编码(通过JBoss Logging而非 slf4j). 为 OSGi支持做好了准备.

JBoss AS 7性能调优(四)

- - CSDN博客系统运维推荐文章
 原文: http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-5. 记录日志是每一个应用程序的一个重要任务,默认的配置一般只适合开发,但不适用于生产环境. 您切换到生产环境时需要考虑的关键要素是:.

[译]jboss漏洞利用

- - 互联网 - ITeye博客
原文地址:http://resources.infosecinstitute.com/jboss-exploitation/. JBoss Application Server是一个基于Jave EE的web应用服务器. 如果Jboss没有正确配置,它会允许攻击者进行各种恶意攻击. 由于JMX console可以通过端口8080远程访问,攻击者和恶意用户可以通过使用Jboss console中的DeploymentScanner功能部署他们自己的WAR(web archive)文件或shell脚本.

JBoss AS 7性能调优(二)

- - CSDN博客系统运维推荐文章
建立与DBMS的JDBC连接过程可能是相当缓慢的. 如果您的应用程序需要反复打开和关闭数据库连接,这可以成为一个显著的性能问题. 在JBoss AS中数据源的连接池提供了一种有效的解决该问题的方法. 要强调的是,当客户端关闭一个数据源的连接时,该连接返回到池中,这样可用于其它的客户端,因此,连接本身并没有关闭.

JBoss AS 7性能调优 (一)

- - CSDN博客系统运维推荐文章
原文: http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning. 虽然许多架构师和软件工程师都同意,约70-80%的应用程序的性能取决于应用程序本身的编码,配置不当的服务器环境可以显著影响你的用户体验,并最终影响到你的应用程序性能.

JBoss AS 7性能调优(三)

- - CSDN博客系统运维推荐文章
原文: http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-4. 还有很多需要调优的地方最终影响Web服务器的性能,其中一个最重要的因素是调优HTTP线程池设置,以匹配web请求的负载.

JBoss 系列五十:使用Apache httpd(mod_jk)和JBoss构架高可用集群环境

- - CSDN博客架构设计推荐文章
前面 JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(mod_cluster)和JBoss构架高可用集群环境,我们这里在原有的环境中将mod_cluster换成mod_jk,其架构如下图所示:.

JBoss AS 7.1全面兼容Java EE 6 Full Profile

- - InfoQ cn
上周发布了 JBoss AS 7.1,这是首款全面兼容Java EE 6 Full Profile的JBoss服务器,继Apache Geronimo和Oracle GlassFish之后,成为了 又一款全面兼容Java EE 6 Full Profile的开源服务器. 去年,JBoss AS 7.0完成了 Java EE 6 Web Profile认证,但Full Profile中还额外包含Java Message Service、WebServices和多项管理技术.