Tomcat集群的三种负载均衡方式优缺点对照
1.使用DNS轮询.
2.使用ApacheRproxy方式。
3.使用Apachemod_jk方式.
DNS轮询的缺点是,当集群中某台服务器停止之后,用户由于dns缓存的缘故,便无法访问服务,
必须等到dns解析更新,或者这台服务器重新启动。
还有就是必须把集群中的所有服务端口暴露给外界,没有用apache做前置代理的方式安全,
并且占用大量公网IP地址,而且tomcat还要负责处理静态网页资源,影响效率。
优点是集群配置最简单,dns设置也非常简单。
Rproxy的缺点是,当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错
误。
但是只要服务器再启动就不存在这个问题。
mod_jk方式的优点是,Apache会自动检测到停止掉的tomcat,然后不再发请求过去。
缺点就是,当停止掉的tomcat服务器再次启动的时候,Apache检测不到,仍然不会转发请求过去。
Rproxy和mod_jk的共同优点是.可以只将Apache置于公网,节省公网IP地址资源。
可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理jsp和servlet等动态请求。
共同缺点是:如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。
Rproxy和mod_jk对静态页面请求的处理,都可以通设置来选取一个尽可能优化的效果。
这三种方式对实现最佳负载均衡都有一定不足,mod_jk相对好些,可以通过设置lbfactor参数来分配请
求任务。
二、配置tomcat集群的方法(Apachemod_jk方式)
环境linuxredhat4台,安装tomcat和apache,和jdk配置的过程过于基础,略过,这里主要讲述如
何配置
版本:linuxredhatserver5.4企业版tomcat6.0apache2.2jdk1.6
1.依次在前三台机器安装tomcat,jdk并配置环境变量等信息;
2.在第四台机器安装apache
3.配置apache服务器
a:在apache网站或其他站点下载mod_jk1.2.26httpd2.2.4.so文件(不一定非要这个版本),将该
文件复制到apache的modules目录,并设置读执行权限用chmod777*或其他命令
b:在apache_home目录下的conf/httpd.conf文件中添加
LoadModulejk_modulemodules/mod_jk1.2.26httpd2.2.4.so
JkWorkersFileconf/workers.properties
JkMount/*lbcontroller
代码解释
LoadModulejk_modulemodules/mod_jk1.2.26httpd2.2.4.so//表示载入JK模块