版权声明:本文为博主原创文章。未经博主同意不得转载。 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在不断的进行切换。

    

搭建高性能Jboss负载均衡集群的更多相关文章

  1. Linux平台上搭建apache+tomcat负载均衡集群

    传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...

  2. Redhat/CentOS7-环境虚拟机简单搭建Nginx+Tomcat负载均衡集群

    Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选.由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat ...

  3. 搭建LVS+Keepalived负载均衡集群

    这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...

  4. Nginx+Keepalived搭建高可用负载均衡集群

    本文的重点是Keepalived的配置,Nginx的配置就简略带过.软件:CentOS 7.2 / Nginx 1.12.2 / Keepalived 1.3.9 ha-01:192.168.1.97 ...

  5. Nginx+Tomcat搭建高性能负载均衡集群

    一.       工具   nginx-1.8.0 apache-tomcat-6.0.33 二.    目标   实现高性能负载均衡的Tomcat集群: 三.    步骤   1.首先下载Nginx ...

  6. Nginx+Tomcat搭建高性能负载均衡集群(转)

    转载自:http://blog.csdn.net/wang379275614/article/details/47778201 一.       工具 nginx-1.8.0 apache-tomca ...

  7. Nginx+Tomcat搭建高性能负载均衡集群的实现方法

    一.    目标实现高性能负载均衡的Tomcat集群: 二.步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apac ...

  8. RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

    本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群.受限于自身条件,本 ...

  9. Apache和Nginx负载均衡集群及测试分析

    一.应用场景介绍 本文主要是介绍Apache和Tomcat在Linux环境下的安装讲解以及AJP协议动静分离负载均衡的实现,以及与Nginx负载性能比较.联网安装较为简单,故此处只说脱机的Linux环 ...

随机推荐

  1. oozie调度hive脚本demo

    1. 环境配置 2. 脚本配置 3. 执行job 4. 查看结果 待发布 ..

  2. Maven基础命令

    Maven 参数 -D 传入属性参数 -P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示maven允许的debug信息 -U 强制去 ...

  3. Entity Framework(四):使用DbModelBuilder API创建表结构

    DbContext类有一个OnModelCreating方法,它用于流利地配置领域类到数据库模式的映射.下面我们以fluent API的方式来定义映射.首先,先将Product类注释掉,重新编写该类, ...

  4. 如何解决PHP里大量数据循环时内存耗尽的问题

    最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...

  5. 第二百五十一节,Bootstrap项目实战--响应式轮播图

    Bootstrap项目实战--响应式轮播图 学习要点: 1.响应式轮播图 本节课我们要在导航条的下方做一张轮播图,自动播放最新的重要动态. 一.响应式轮播图 响应式轮播图 第一步,设置轮播器区域car ...

  6. Swing与AWT在事件模型处理上是一致的

    Swing与AWT在事件模型处理上是一致的. Jframe实际上是一堆窗体的叠加. Swing比AWT更加复杂且灵活. 在JDK1.4中,给JFRAME添加Button不可用jf.add(b).而是使 ...

  7. 【BZOJ】1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(暴力dfs+set判重)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1675 一开始我写了个枚举7个点....... 但是貌似... 写挫了. 然后我就写dfs.. 判重好 ...

  8. 杭电 1280 前m大的数

    http://acm.hdu.edu.cn/showproblem.php?pid=1280 前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memor ...

  9. iOS开发中多线程基础

    耗时操作演练 代码演练 编写耗时方法 - (void)longOperation { for (int i = 0; i < 10000; ++i) { NSLog(@"%@ %d&q ...

  10. Spring_day04--课程安排_回顾SSH框架知识点_SSH框架整合思想

    Spring_day04 上节内容回顾 今天内容介绍 回顾SSH框架知识点 Hibernate框架 Struts2框架 Spring框架 SSH框架整合思想 整合struts2和spring框架 Sp ...