版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/a1314517love/article/details/26836357

负载均衡集群是由两台或者两台以上的server组成。

分为前端负载调度和后端服务两个部分。负载调度部分负载把client的请求依照不同的策略分配给后端服务节点,而后端节点是真正提供营养程序服务的部分。

与双机热备不同的是,负载均衡集群中,全部的后端节点都处于活动动态。它们都对外提供服务,分摊系统的工作负载。

负载均衡集群能够把一个高负荷的应用分散到多个节点共同完毕,适用于业务繁忙、大负荷訪问的应用系统。负载均衡集群的一大长处除了将大负荷进行分摊解决性能问题之外,他还有极强的出错互补机制,每个提供服务的节点在出现故障之后宕机之后,调度系统都会自己主动将这台宕机机器剔除,当该节点又一次启动恢复功能之后。调度系统又会将其增加到集群中。而这一切。对用户来说是全然透明的。下图显示的就是负载均衡集群的基本结构。

说完集群的基本原理和结构之后我们来搭建一个JBoss集群,主要分为下面几个步骤:

一、      准备所需组件:

a)    Apacheserver。我选用的是apache_2.2.3-win32-x86-no_ssl.msi

b)    mod_jk-apache-2.2.3.so文件。

该文件的作用是起分发作用

c)    JBossserver。我用的JBossserver是JBOSS 5.1.0GA

二、      安装安装server。

a)    安装Apacheserver(建议选非系统盘)。安装好后将下载好的mod_jk-apache-2.2.3.so文件拷贝到%APACH_HOME%/modules目录下。

b)    安装JBoss比較简单,直接将压缩包解压至对应的安装位置就可以。

三、      改动相关配置文件。

a)    在Apache安装路径下找到conf目录。在该目录中找到httpd.conf文件,在该文件的最后位置增加Include conf/mod_jk.conf。

b)    在conf目录下新建mod_jk.conf文件,内容例如以下:

    LoadModule jk_module modules/mod_jk-apache-2.2.3.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties # where to find the log file
JkLogFile logs/mod_jk.log
# set the log level set the log level
JkLogLevel info
# map to the status server
JkMount /private/admin/mystatus mystatus
# router the request to the right host
JkMount /* balance

    (c)相同是在conf目录中新建workers.properties文件,文件内容为:

    # define list of workers that will be used
# for mapping requests
worker.list=balance,mystatus # Define Node1
worker.node1.port=11009
worker.node1.host=192.168.24.246
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.socket_timeout=30
worker.node1.socket_keepalive=1 # Define Node2
worker.node2.port=12009
worker.node2.host=192.168.24.247
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.socket_timeout=30
worker.node2.socket_keepalive=1 # Define Node3
worker.node3.port=13009
worker.node3.host=192.168.24.245
worker.node3.type=ajp13
worker.node3.lbfactor=1
worker.node3.socket_timeout=30
worker.node3.socket_keepalive=1 # Load-balancing behaviour
worker.balance.type=lb
worker.balance.balance_workers=node1,node2,node3
worker.balance.sticky_session=1 # Status worker for managing load balancer
worker.mystatus.type=status

该文件用于定义server节点,在该文件里我定义了三个节点。node1,node2,node3,也就意味着在我的jboss集群中有三台jbossserver对外提供服       务。如上内容中host表示jbossserver所在的电脑的IP,port为jbossserverAJP所监听的端口号。lbfactor表示该server节点在该集群中的权重,该值越大,Apacheserver将请求分发至该台JBoss上的几率越大。

e)在部署Web应用时。须要在应用程序的web.xml中增加<distributable/>节点,例如以下所看到的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Welcome to JBoss</display-name>
<description>
Welcome to JBoss
</description>
<distributable/> </web-app>

至此Apacheserver和各Jboss节点server配置完毕,顺序启动Apache和各个Jboss节点。在浏览器中输入http://192.168.24.245:8011/aaa.war进行訪问,我们能够看到自定义的訪问页面(各Jboss节点中部署的aaa.war包中的index.jsp页面里的内容不一样来做区分),进行刷新能够看到Apache在不断的进行切换。

    

最新文章

  1. 浅析JSONP-解决Ajax跨域访问问题
  2. same story,different day
  3. Maven编译项目报错:某些类找不到符号
  4. 【转】备份Kylin的元数据
  5. 添加favicon.ico网站文件
  6. c++ 03
  7. Python 第二篇:python字符串、列表和字典的基本操作方法
  8. Ubuntu16.04 IDE: 用Vim逐步打造一个IDE
  9. centos7安装jdk,tomcat,msyql(MariaDB)
  10. jQuery学习之旅 Item4 细说DOM操作
  11. Django3 Django 路由分发,反向解析,2.0版本的path
  12. Good Introduction of Kerberos and RADIUS
  13. 第一次远程ubuntu用c写Hello Word出现的问题
  14. CodeWarrior 10 自定义关键字模版
  15. Dynamics CRM 2016/365 窗体中添加按钮
  16. Jenkins插件安装实战篇
  17. java高并发解决方案
  18. MyEclipse创建Web项目入门指南
  19. C语言中 Float 数据结构的存储计算
  20. MongoDB 多实例安装成服务

热门文章

  1. 关于Unity的开发模式
  2. ThinkPHP种where的使用(_logic and _complex)的使用实例
  3. bootstrap基础学习三篇
  4. Android studio 添加admob googgle play services
  5. hdu 1232:畅通工程(数据结构,树,并查集)
  6. 使用jquery操作session方法分享
  7. 用公式编辑器编辑n元乘积的方法
  8. Spring配置文件总结
  9. Text Particle Systems
  10. 20分钟成功编写bootstrap响应式页面 就这么简单