mod_cluster


 Listen 10.225.66.235:6666
 ManagerBalancerName mycluster
 Maxnode 100
 Maxhost 100
 ProxyPreserveHost on
 
   
    Require all denied
    Require ip 10.5
    Require ip 10.6
    Require ip 10.8
    Require ip 10.220
    Require ip 10
    Require ip 172.24
   
   KeepAliveTimeout 300
   MaxKeepAliveRequests 0
ServerAdvertise off
   AdvertiseFrequency 5
   #AdvertiseSecurityKey secret
   #AdvertiseGroup @ADVIP@:23364
   EnableMCPMReceive

   
      SetHandler mod_cluster-manager
      AuthType Basic
      AuthName "MCM"
      AuthUserFile /etc/modclusterpassword
      Require user admin
      Require all denied
      Require ip 172
      Require ip 10
      Require ip 122
      Require ip 127.0.0.1
   

 

  • ManagerBalancerName jboss集群的名称,需要与jboss中的配置一样:







  • Maxnode That is the maximum number of nodes supported by mod_cluster. jboss集群的最大节点数量

  • Maxhost That is the maximum number of hosts (Aliases) supported by mod_cluster. That is also the max number of balancers. 支持的最大balancers数量

  • ProxyPreserveHost 在反向代理中是否支持虚拟主机。如果启用此功能,代理会将用户请求报文中的Host:行发送给后端的服务器。
    打开了ProxyPreserveHost 就可以让Tomcat获取用户请求的Host了

  • KeepAliveTimeout 单个持久连接最大连接时长,超过即断开

  • MaxKeepAliveRequests 服务器单个持久连接最大的请求数,超过即断开

  • ServerAdvertise 广播地址,没搞懂,似乎不需要配置也会自动发现jboss实例,应该是已经配置了proxyList就可以了。

  • EnableMCPMReceive 开启这个proxyList才会生效。

综上,广播这块有两种配置,一种是开启广播ServerAdvertise。然后在jboss里边指定广播地址advertise-socket="modcluster",此socket的地址就是广播地址。
第二种,不开启广播,然后在中,使用proxyList指定apache中的IP,也可以完成配置。

  • 补充一个上边没有的。Timeout 在客户端和服务器端TCP三次握手的时候,当客户端发起请求,服务器端响应请求之后,服务器端等待客户端确认的时间,如果客户端在时间内未确认,则服务器将关闭该次TCP握手。

jboss的配置


            
                
                    
                
            
        
  • 其中balancer属性需要与Apache中的ManagerBalancerName保持一致。
    这个apache中只能配置一个,所以jboss里也只能配置一个。

  • 如果局域网中还有其它多播地址,还需要将以下部分更改为新的多播地址,Apache中相应的AdvertiseGroup也要与其更改为同一地址。

注意,这里相当于上边所说的第一种方式。如果使用第二种方式,那么在jboss中设置proxyList即可。

多个多播地址存在的意义? 如果jboss中有个war,上下文是/abc, 那么可以在apache中配置多个虚拟主机,每个虚拟主机设置自己的多播地址,那么这些虚拟主机就都可以访问/abc中的功能。
如果只有一个虚拟主机,那么jboss的上下文不能重复,比如两个jboss实例中存在/abc, /def, 都关联到同一个多播地址,那么访问apache的/abc和/def都可以正常访问到jboss中的应用。

  • sticky-session 默认是true

你可能感兴趣的:(mod_cluster)