搭建高性能Jboss负载均衡集群
负载均衡集群是由两台或者两台以上的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负载均衡集群的更多相关文章
- Linux平台上搭建apache+tomcat负载均衡集群
传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...
- Redhat/CentOS7-环境虚拟机简单搭建Nginx+Tomcat负载均衡集群
Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选.由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat ...
- 搭建LVS+Keepalived负载均衡集群
这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...
- Nginx+Keepalived搭建高可用负载均衡集群
本文的重点是Keepalived的配置,Nginx的配置就简略带过.软件:CentOS 7.2 / Nginx 1.12.2 / Keepalived 1.3.9 ha-01:192.168.1.97 ...
- Nginx+Tomcat搭建高性能负载均衡集群
一. 工具 nginx-1.8.0 apache-tomcat-6.0.33 二. 目标 实现高性能负载均衡的Tomcat集群: 三. 步骤 1.首先下载Nginx ...
- Nginx+Tomcat搭建高性能负载均衡集群(转)
转载自:http://blog.csdn.net/wang379275614/article/details/47778201 一. 工具 nginx-1.8.0 apache-tomca ...
- Nginx+Tomcat搭建高性能负载均衡集群的实现方法
一. 目标实现高性能负载均衡的Tomcat集群: 二.步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apac ...
- RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群
本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群.受限于自身条件,本 ...
- Apache和Nginx负载均衡集群及测试分析
一.应用场景介绍 本文主要是介绍Apache和Tomcat在Linux环境下的安装讲解以及AJP协议动静分离负载均衡的实现,以及与Nginx负载性能比较.联网安装较为简单,故此处只说脱机的Linux环 ...
随机推荐
- APP纯黑盒测试—某些可以试试的操作
一.多次快速点击一处功能入口: 该测试方法可以在某些应用中打开俩次目标界面,举一些具体一点的例子: 1.比如现在很多APP需要登陆,如果打开了俩次登录页面,就容易造成登录成功后应用跳转界面又是登录界面 ...
- 【BZOJ】1617: [Usaco2008 Mar]River Crossing渡河问题(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1617 裸dp,很好做. 设f[i]表示i头牛到对岸所需最小时间.sum[i]表示运i头牛到对岸的时间 ...
- 【BZOJ】1634: [Usaco2007 Jan]Protecting the Flowers 护花(贪心)
http://www.lydsy.com/JudgeOnline/problem.php?id=1634 贪心.. 我们发现,两个相邻的牛(a和b)哪个先走对其它的牛无影响,但是可以通过 a的破坏花× ...
- Oracel 数据库面试题
1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHE ...
- MyBatis 3.2.6插入时候获取自增主键方法
MyBatis 3.2.6插入时候获取自增主键方法有二 以MySQL5.5为例: 方法1: <insert id="insert" parameterType="P ...
- 哪些工具可以在word中快速绘制图形
在数学试卷.论文.电子教案等编写过程中,我们经常要作出数学图形或图像,若用Word自身携带的绘图工具绘制,多有不便.比如一些曲线的形状很难画得像,画到位,作图时修修改改,颇为费力,所以需要借助一些辅助 ...
- docker实用命名
删除tag/镜像: #删除tag docker rmi index-dev.qiniu.io/cs-kirk/nginx:latest docker rmi index-dev.qiniu.io/cs ...
- WPF 渲染级别 (Tier)
在WPF中,显卡的功能相差很大.当WPF评估显卡时,它会考虑许多因素,包括显卡上的RAM数量.对像素着色器(piexl shader)的支持(计算每个像素效果的内置程序,如透明效果),以及对顶点着色器 ...
- sqlserver 安全
1.将数据库的用户名和密码加密保存,使用加密传输.2.将数据库里面的用户除了这个用户所有的用户都禁用,把该用户的密码改的很复杂,很难破解那种3.设置数据库的可连接方式(所有的方式的设置).4.删除数据 ...
- Sql创建约束
add constraint pk_studentno primary key(StudentNo) //主键 add constraint fk_student_grade_gradeid fore ...