码迷,mamicode.com
首页 > 其他好文 > 详细

JBOSS系列--负载均衡

时间:2015-02-16 11:43:57      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:

        如果要实现JBoss各节点的负载均衡就需要在集群前置负载均衡器,均衡器是所有请求的入口,将请求按照定义的负载规则分配到各节点。负载均衡器可以实现故障转移和状态同步。我选择目前比较流行的Apache Http Server作为集群中的负载均衡器,通过mod_jk插件与Jboss节点通讯。


1、从官网下载binary文件

 http://mod-cluster.jboss.org/downloads/1-2-6-Final-bin 这上面有各种OS的版本,本文以windows为试验环境,应该下载http://downloads.jboss.org/mod_cluster//1.2.6.Final/windows/mod_cluster-1.2.6.Final-windows-amd64.zip 这个版本

 

2、解压安装

将下载下来的文件解压到Master Server上,以我的为例,解压到C:\mod-cluster

2.1 执行C:\mod-cluster\httpd-2.2\bin\installconf.bat生成默认配置

2.2 修改C:\mod-cluster\httpd-2.2\conf\httpd.conf

2.2.1  40行

<span style="font-size:14px;"><span style="font-size:14px;">#Listen 12.34.56.78:80
Listen 80</span></span>

把8080改为80,去掉端口号

2.2.2 164行

<span style="font-size:14px;"><span style="font-size:14px;">ServerName 192.168.24.17:80</span></span>

改为master Server的ip

 

2.2.3文件的最后部分

# MOD_CLUSTER_ADDS

# Adjust to you hostname and subnet.

<IfModule manager_module>

  Listen 192.168.24.17:6666

  ManagerBalancerName mycluster

  <VirtualHost 192.168.24.17:6666>

    <Location />

     Order deny,allow

     #Deny from all

     Allow from all

    </Location>

 

    KeepAliveTimeout 300

    MaxKeepAliveRequests 0

    #ServerAdvertise on http://127.0.0.1:6666

    AdvertiseFrequency 5

    #AdvertiseSecurityKey secret

    #AdvertiseGroup 224.0.1.105:23364

    EnableMCPMReceive

 

    <Location /mod_cluster_manager>

       SetHandler mod_cluster-manager

       Order deny,allow

       #Deny from all

       Allow from all

    </Location>

 

  </VirtualHost>

</IfModule>

 

注意上面标红的地方都是需要修改的。IP改为Master Server的IP。两个Deny from all注释掉。把紧贴着的一行改为Allow from all

2.3 将httpd安装成windows服务

Cmd 命令

技术分享

运行上面两个命令,即注册成功。

2.4浏览

访问地址:http://192.168.24.17:6666/mod_cluster_manager

技术分享

         注意:我先在以domain模式开着jboss,所以能看到好多节点,如果没有开着Jboss只能看到第一个节点。这个界面出来表示配置成功,如果没有出来,检查一下jboss master server中创建的group,对应的profile是否为full-ha

3 、负载均衡

上面已经部署了war,所以直接可以用

http://192.168.24.17/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#来访问了,apache会智能转发到6个节点中的某一个,如果访问正常,说明负载均衡已经生效。

技术分享


1)继续把其他server停掉几台,再继续访问http://192.168.24.42:8083/itoo-base-cgform-all/cgFormHeadController.do?cgFormHeadList#

网址

技术分享

现在关掉了5个,访问一下网址看一下:

技术分享


2)仍然正常,说明某几个node损坏并不影响正常使用,即容错成功。所有的server关掉后,在访问这个网址则将无法访问。

技术分享

现在这6个server都关掉了,访问一下网址:

技术分享

访问不到了。说明负载均衡已经生效了。


总结

        负载均衡解决了服务器压力大的问题,让一台服务器的压力分散到各服务器。它屏蔽了用户的差异性,让用户感觉不到各台服务器的存在。从用户的角度来说,提高了用户的可用性,降低维护成本,提高可维护性。


JBOSS系列--负载均衡

标签:

原文地址:http://blog.csdn.net/liutengteng130/article/details/43850831

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!