JBoss 7负载平衡器会话复制

JBoss 7负载平衡器会话复制,jboss,jboss7.x,load-balancing,high-availability,mod-jk,Jboss,Jboss7.x,Load Balancing,High Availability,Mod Jk,我有3台服务器: 2 Jboss 7.1.1服务器 1台Apache服务器 我正在使用mod_jk 我的配置如下所示: 在我的web应用程序中,我有一个会话计数器 客户端1请求Web服务器(我是指负载平衡器服务器),Web服务器选择第一个JBoss作为 这一次,计数器++(示例:计数器=5) 之后,我关闭了第一个JBossAS 然后,客户端继续向Web服务器发送请求,第一个JBoss AS关闭,所以Web服务器将选择第二个JBoss AS 此时间计数器再次启动(计数器=0) 所以。我想在每

我有3台服务器:

  • 2 Jboss 7.1.1服务器
  • 1台Apache服务器
我正在使用mod_jk

我的配置如下所示:

在我的web应用程序中,我有一个会话计数器

客户端1请求Web服务器(我是指负载平衡器服务器),Web服务器选择第一个JBoss作为

这一次,计数器++(示例:计数器=5)

之后,我关闭了第一个JBossAS

然后,客户端继续向Web服务器发送请求,第一个JBoss AS关闭,所以Web服务器将选择第二个JBoss AS

此时间计数器再次启动(计数器=0)

所以。我想在每个JBoss中都保留会话计数器

我的意思是,这一次,计数器应该是第一个JBossAS关闭后的6

我该怎么办

请参阅下面的配置

#/etc/apache2/workers.properties
##### Balancer ######
#worker.jboss.type=lb
#worker.jboss.balance_workers=jboss1,jboss2
#worker.jkstatus.type=status
worker.list=jboss,jk-status

##### JBOSS Machine 1 #####
worker.jboss1.type=ajp13
worker.jboss1.host=192.168.20.131
worker.jboss1.port=8009
worker.jboss1.lbfactor=1


##### JBOSS Machine 2 #####
worker.jboss2.type=ajp13
worker.jboss2.host=192.168.20.130
worker.jboss2.port=8009
worker.jboss2.lbfactor=1


##### LOAD Balancing ######
worker.jboss.type=lb
worker.jboss.balance_workers=jboss1,jboss2
worker.jboss.sticky_session=true ## I used to sticky session
worker.jk-status.type=status
我的JBoss Web应用程序:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>/</context-root>
    <replication-config>  
        <replication-trigger>SET_AND_GET</replication-trigger>  
        <replication-granularity>SESSION</replication-granularity>  
    </replication-config>
</jboss-web>

/
设置和获取
一场
我的Web配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>HelloWorld</display-name>
    <distributable/>
</web-app>

你好世界
MyStandalone.xml

<system-properties>
    <property name="jvmRoute" value="jboss1"/>
    <property name="useJK" value="true"/>
</system-properties>

AJP连接器

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" instance-id="jboss1" native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
    <connector name="ajp" protocol="AJP/1.3" scheme="ajp" socket-binding="ajp" />
    <virtual-server name="default-host" enable-welcome-root="false">
       <alias name="localhost"/>
       <alias name="example.com"/>
    </virtual-server>
</subsystem>

要启用会话复制,您需要在集群中配置Jboss:

并且最有可能切换到mod_cluster而不是mod_jk,以使用集群的全部功能:

如果您决定尝试,我建议您阅读一系列关于此主题的文章。链接到第一个: