集群
多个服务器用来接收客户端的访问。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。分为负载均衡和失败迁移。
失败迁移:是当服务器当机不能提d供协作服务后,会(通过ICM主机)将协作服务及时的转到其他服务器上去。
负载均衡:当服务器负载的压力过大时,会(通过ICM主机)将部分服务转到负载压力小的服务器上。
APACHE服务
- 通过网站http://httpd.apache.org/进入下载apache的工具。
- 修改APACHE中conf目录下的httpd.conf文件
- 在windows上注册apache服务。
- 启动apache服务
右击此电脑,点击管理按钮,进入计算机管理界面。启动apache服务。
测试 访问地址 localhost计入测试界面即部署服务成功。
Tomcat 修改
修改tomcat端口(本机部署)
为了实现负载均衡需要两台Tomcat服务器。
a号tomcat服务器的配置为
<Server port="1005" shutdown="SHUTDOWN">
<Connector port="1080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector protocol="AJP/1.3"
address="::1"
port="1009"
redirectPort="8443" />
b号tomcat服务器配置为
<Server port="2005" shutdown="SHUTDOWN">
<Connector port="2080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector protocol="AJP/1.3"
address="::1"
port="2009"
redirectPort="8443" />
- 修改jvmroute。
a号tomcat设置
<Engine name="Standalone" defaultHost="localhost" jvmRoute="TomcatA"></Engine>
-
defaultHost:指定处理请求的默认虚拟主机。在Engine中定义的多个虚拟主机的主机名称中至少有一个跟defaultHost定义的主机名称同名。
-
name:Engine组件的名称,用于记录日志和错误信息,无关紧要的属性,可随意给定。
-
jvmRoute:在启用session粘性时指定使用哪种负载均衡的标识符。所有的tomcat server实例中该标识符必须唯一,它会追加在session标识符的尾部,因此能让前端代理总是将特定的session转发至同一个tomcat实例上。
要去两个tomcat服务器标签的注释
下载文件mod_jk.so
- 下载位置 http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
- 解压里面的文件将mod_jk.so放入apache的modules目录下。
配置work.properties文件
- 在APACHE的conf目录下创建纯文本文件,命名为work.properties
worker.list = controller,tomcata,tomcatb
## type 协议类型 mod_jk有4个类型:ajp12、ajp13、jni、lb
worker.tomcata.type=ajp13
## 负载均衡比重
worker.tomcata.lbfactor=2
worker.tomcata.port=1009
worker.tomcata.host=localhost
worker.tomcatb.type=ajp13
## 负载均衡比重
worker.tomcatb.lbfactor=1
worker.tomcatb.port=2009
worker.tomcatb.host=localhost
worker.controller.type = lb
## 配置控制器分流的主机
worker.controller.balanced_workers=tomcata,tomcata
worker.controller.sticky_session=false
worker.controller.sticky_session 分配策略
- 判定分配session,你的请求的tomcat服务器是固定的。如a客户访问的第一次是tomcata服务器,那么就会永远访问tomcata服务器,坏处无法失败迁移。
- session广播,会将session自动同步到其他服务器,但是服务器过多,服务器需要花费大量时间和性能进行session同步。
- 集中管理策略,将各个服务器的session放入一个数据库中,可以让任意服务器调用数据。
加载mod_jk.so和worker.properties
- 在APACHE的conf目录下创建一个纯文本文件命名为mod_jk.conf
LoadModule jk_module modules/mod_jk.so
#加载workers.propertity
JkWorkersFile conf/worker.properties
#分流什么 /*分流所有请求(JSP、Servlet)
JkMount /* controller
加载mod_jk.conf。
- 在APACHE的httpd。conf最后加上
include conf/mod_jk.conf