- 浏览: 450433 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (377)
- Java (66)
- C++ (0)
- VC++ (0)
- .net (1)
- css (36)
- 数据库 (22)
- html (2)
- extjs (1)
- jpbm (0)
- javascript (31)
- 物资管理 (1)
- java基础 (5)
- C# (0)
- Android (56)
- window service (1)
- 其他 (2)
- Web服务器 (7)
- jbpm (1)
- eclipse (2)
- tomcat (3)
- java字符串与二进制的相互转化 (1)
- Oracle 数据库 (6)
- FreeMarker (8)
- 浏览器 (1)
- php (1)
- photoshop (6)
- spring (4)
- spring mvc (2)
- Acegi (1)
- webStorm 3.0 (4)
- Mongodb (8)
- mysql (9)
- 软件开发:需求分析 (1)
- 把Java程序作为Windows系统服务 (1)
- nodejs (4)
- json (1)
- 缓存 (1)
- J2ee (2)
- Flash报表 (1)
- MyEclipse+Maven+Tomcat (11)
- 生活 (1)
- Ubuntu (1)
- Bootstrap (1)
- jquery easy ui (2)
- 敏捷开发 (1)
- phone gap (1)
- rest (1)
- 移动开发 (22)
- Redis + Jedis + Spring (3)
- anroid (7)
- grunt 教程 (7)
- PhoneGap (2)
- sublime text (7)
- mariadb (1)
- linux (1)
- maven (2)
- jquery (1)
- ActiveMQ (1)
- LVS Nginx (1)
- nginx (6)
- ngnix (1)
- 爱因斯坦 (1)
- 天干地支 (1)
最新评论
-
muqingren:
...
Maven多模块布局实例详解 -
shutear:
解决了我的难题,谢谢分享!
Unable to load configuration. - action - file:/D:/studytool/apache-tomcat-6.0.16 -
702346318:
[img][/img][flash=200,200][/fla ...
CAS单点登录完整教程(上)【转】 -
liuguofeng:
PersonS631887934 写道学习中。。 有个问题想请 ...
js constructor属性 -
S631887934:
学习中。。 有个问题想请教楼主为什么要加上Person.pro ...
js constructor属性
集群背景介绍
1.1 术语定义
服务软体是b/s或c/s结构的s部分,是为b或c提供服务的服务性软件系统。
服务硬体指提供计算服务的硬件、比如pc机、pc服务器。
服务实体通指服务软体和服务硬体。
客户端指接受服务实体服务的软件或硬件。
1.2 两大关键特性
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:
可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。
高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。
1.3 两大能力
为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:
负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。
错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。
负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。
1.4 两大技术
实现集群务必要有以下两大技术:
集群地址--集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。
内部通信--为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。
具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。
(一)环境说明
(1)服务器有4台,一台安装apache,三台安装tomcat
(2)apache2.0.55、tomcat5.5.15、jk2.0.4、jdk1.5.6或jdk1.4.2
(3)ip配置,一台安装apache的ip为192.168.0.88,三台安装tomcat的服务器ip分别为192.168.0.1/2/4
(二)安装过程
(1)在三台要安装tomcat的服务器上先安装jdk
(2)配置jdk的安装路径,在环境变量path中加入jdk的bin路径,新建环境变量JAVA_HOME指向jdk的安装路径
(3)在三台要安装tomcat的服务器上分别安装tomcat,调试三个tomcat到能够正常启动
(4)tomcat的默认WEB服务端口是8080,默认的模式是单独服务,我的三个tomcat的WEB服务端口修改为7080/8888/9999
修改位置为tomcat的安装目录下的conf/server.xml
修改前的配置为
<Connector port="8080" maxHttpHeaderSize="8192" |
修改后的配置为
<Connector port="7080" maxHttpHeaderSize="8192" |
依次修改每个tomcat的监听端口(7080/8888/9999)
(5)分别测试每个tomcat的启动是否正常
http://192.168.0.1:7080
http://192.168.0.2:8888
http://192.168.0.4:9999/
(三)负载均衡配置过程
(1)在那台要安装apache的服务器上安装apache2.0.55,我的安装路径为默认C:\Program Files\Apache Group\Apache2
(2)安装后测试apache能否正常启动,调试到能够正常启动http://192.168.0.88
(3)下载jk2.0.4后解压缩文件
(4)将解压缩后的目录中的modules目录中的mod_jk2.so文件复制到apache的安装目录下的modules目录中,我的为C:\Program Files\Apache Group\Apache2\modules
(5)修改apache的安装目录中的conf目录的配置文件httpd.conf,在文件中加LoadModule模块配置信息的最后加上一句LoadModule jk2_module modules/mod_jk2.so
(6)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下
修改前
<!-- An Engine represents the entry point (within Catalina) that processes |
修改后
<!-- An Engine represents the entry point (within Catalina) that processes |
将其中的jvmRoute="jvm1"分别修改为jvmRoute="tomcat1"和jvmRoute="tomcat2"和jvmRoute="tomcat3"
(7)然后重启三个tomcat,调试能够正常启动。
(8)在apache的安装目录中的conf目录下创建文件workers2.propertie,写入文件内容如下
# fine the communication channel |
#配置第一个服务器
tomcatId=tomcat1 #要和tomcat的配置文件server.xml中的jvmRoute="tomcat1"名称一致
debug=0
lb_factor=1 #负载平衡因子,数字越大请求被分配的几率越高
# Define the communication channel |
(9)在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为TomcatDemo,在三个应用目录中建立相同 WEB-INF目录和页面index.jsp,index.jsp的页面内容如下
<%@ page contentType="text/html; charset=GBK" %> |
(10)重启apache服务器和三个tomcat服务器,到此负载 均衡已配置完成。测试负载均衡先测试apache,访问http://192.168.0.88/jkstatus.jsp
能否正常访问,并查询其中的内容,有三个tomcat的相关配置信息和负载说明,访问http://192.168.0.88/TomcatDemo/index.jsp看能够运行,
能运行,则已建立负载均衡。
(四)tomcat集群配置
(1)负载均衡配置的条件下配置tomcat集群
(2)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下
修改前
<!-- |
修改后
<!-- modify by whh --> |
将集群配置选项的注释放开即可,如上。
(3)在Conf目录下建立jk2.properties文件,写入下面一行,其中端口为相应的Tomcat对应的AJP端口。
channelSocket.port=8009
(4)重启三个tomcat。到此tomcat的集群已配置完成。
(五)应用配置
对于要进行负载和集群的的tomcat目录下的webapps中的应用中的WEB-INF中的web.xml文件要添加如下一句配置
<distributable/>
配置前
<?xml version="1.0" encoding="UTF-8"?> |
配置后
<?xml version="1.0" encoding="UTF-8"?> |
发表评论
-
非对称加密算法-DH算法
2014-11-04 10:53 1458http://blog.csdn.net/kongqz/a ... -
非对称加密算法-RSA算法
2014-11-04 10:52 982一、概述 1、RSA是基于大数因子分解难题。目前各种主流 ... -
OAuth的机制原理讲解及开发流程
2014-11-04 10:01 791本想前段时间就把自己通过QQ OAuth1.0、OAuth2 ... -
FindBugs规则整理
2014-10-30 12:46 1939http://blog.csdn.net/jdsjlzx/a ... -
Java网络编程——远程通讯可选技术及原理
2014-10-28 17:40 648(此文系转载,具体出 ... -
UML类图几种关系的总结
2014-10-25 18:13 702在UML类图中,常见的有以下几种关系: 泛化(Gene ... -
关联、组合、聚合、依赖关系比较
2014-10-25 17:06 639类之间的关系种类: Generalization(泛化), ... -
组合,聚合,关联,依赖 的区别
2014-10-25 12:37 760依赖与关联 依赖(Depen ... -
设计指导原则
2014-10-18 15:38 816http://www.cnblogs.com/netfocu ... -
Java缩略图生成库之Thumbnailator应用说明
2014-10-12 18:17 747Thumbnailator 是一个为Java界面更流畅的缩略 ... -
spring mvc 使用jcrop进行头像剪切
2014-10-12 17:33 1450源码下载地址:http://download.csdn.n ... -
Lucene / Solr 开发经验
2014-10-08 22:06 900转自 Lucene/Solr开发经 ... -
高并发量网站解决方案
2014-10-08 22:03 713一个小型的网站,可以使用最简单的html静态页面就实现了,配 ... -
response.setHeader()的用法
2014-08-04 11:35 680response.setHeader()的用 ... -
iBatis整理——Spring环境下批处理实现
2014-07-09 11:09 425http://snowolf.iteye.com/blog/ ... -
Java NIO系列教程(八) SocketChannel
2014-09-14 11:06 539原文链接 作者:Jakob Jenkov ... -
Java NIO系列教程(七) FileChannel
2014-07-06 17:54 0原文链接 作者:Jakob Jenkov 译 ... -
Java NIO系列教程(六) Selector
2014-07-06 17:53 0原文链接 作者:Jakob Jenkov 译者:浪迹v 校对 ... -
Java NIO系列教程(五) 通道之间的数据传输
2014-07-06 17:53 0原文地址:http://tutorials.jenkov. ... -
Java NIO系列教程(四) Scatter/Gather
2014-07-06 17:52 431Java NIO开始支持scatter/gather,sca ...
相关推荐
【Tomcat6集群和负载均衡】是Web服务器和应用程序服务器扩展和提高可用性的关键技术。Tomcat作为Apache基金会的Java Servlet容器,常常需要处理高并发请求,集群和负载均衡的实现可以有效解决这个问题。 集群是一种...
本文将深入探讨“Tomcat服务器集群”和“负载均衡”的概念,以及如何进行相关的配置。 首先,我们要理解什么是Tomcat服务器集群。集群是一种通过多台服务器共享工作负载、提供冗余和提高可用性的方式。在Tomcat环境...
Apache Tomcat 集群负载均衡 ##### 1.13 Tomcat 端口配置 为了实现集群中的负载均衡,需要对 Tomcat 实例上的端口进行配置。这通常涉及到以下端口: - **HTTP 端口**:用于接收客户端的 HTTP 请求。 - **AJP 端口*...
### Apache和Tomcat实现集群和负载均衡(Windows NT) #### 软件环境 为了实现Apache与Tomcat的集群及负载均衡,在Windows NT环境下需要准备以下软件环境: 1. **Apache**: 版本2.0.55。可以从官方网站...
Apache和Tomcat集群及负载均衡是提高Web应用可扩展性和高可用性的重要技术。Apache作为流行的Web服务器,可以与Tomcat(一个Java Servlet容器)结合,通过Apache的模块mod_jk实现负载均衡,将HTTP请求智能地分发到多...
Apache,Tomcat集群和负载均衡包括了apache-tomcat-5.5.29.zip,apache_2.2.4-win32-x86-no_ssl.msi,mod_jk-1.2.28-httpd-2.2.3.so,ApacheTomcat整合文档.doc,Apache,Tomcat集群和负载均衡教程.doc,Tomcat负载...
在构建高性能、高可用性的Web应用系统中,Apache和Tomcat的集群以及负载均衡是非常关键的技术环节。这里我们将深入探讨这些知识点。 首先,Apache HTTP Server(简称Apache)是世界上最广泛使用的Web服务器,它提供...
### 结合Apache和Tomcat实现集群与负载均衡 #### 一、引言 在现代Web应用开发中,为了提高服务的稳定性和响应速度,通常会采用集群和负载均衡技术。本文将详细介绍如何通过Apache和Tomcat这两款强大的开源工具来...
本文将详细介绍如何配置Tomcat集群,并实现负载均衡,以提高系统的整体性能和可靠性。 #### 二、环境准备 为了搭建Tomcat集群并实现负载均衡,我们需要准备以下环境: 1. **硬件资源**: - 4台服务器,其中1台...
在Apache2和Tomcat6的环境下,我们可以利用Apache的mod_jk模块来实现这种集群和负载均衡。 1. **mod_jk模块**:这是Apache的一个模块,负责与Tomcat之间的通信,它提供了AJP(Apache JServ Protocol)协议,允许...
Tomcat集群和负载均衡配置.docx server.xml httpd.conf context.xml
当我们谈论“Tomcat集群和负载均衡”时,我们指的是通过多台Tomcat服务器来分发和处理来自用户的网络请求,以提高系统可用性和性能。 首先,让我们了解什么是Tomcat集群。在集群环境中,多台Tomcat服务器共享相同的...
Apache 2.2 和 Tomcat 6.0 集群与负载均衡是构建高可用性和高并发Web应用的关键技术。在大型系统中,通过设置集群可以分散服务器压力,提高服务稳定性;而负载均衡则能确保请求均匀分配到各个节点,避免单一节点过载...