Tomcat集群的三种负载均衡方式优缺点对照。
时间:2007-06-12 来源:zyq26672607
Tomcat集群的三种负载均衡方式优缺点对照。
1.使用DNS轮询. 2.使用Apache R-proxy方式。 3.使用Apache mod_jk方式. DNS轮询的缺点是,当集群中某台服务器停止之后,用户由于dns缓存的缘故,便无法访问服务, 必须等到dns解析更新,或者这台服务器重新启动。 还有就是必须把集群中的所有服务端口暴露给外界,没有用apache做前置代理的方式安全, 并且占用大量公网IP地址,而且tomcat还要负责处理静态网页资源,影响效率。 优点是集群配置最简单,dns设置也非常简单。 R-proxy的缺点是,当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。 但是只要服务器再启动就不存在这个问题。 mod_jk方式的优点是,Apache 会自动检测到停止掉的tomcat,然后不再发请求过去。 缺点就是,当停止掉的tomcat服务器再次启动的时候,Apache检测不到,仍然不会转发请求过去。 R-proxy和mod_jk的共同优点是.可以只将Apache置于公网,节省公网IP地址资源。 可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理jsp和servlet等动态请求。 共同缺点是:如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。 R-proxy和mod_jk对静态页面请求的处理,都可以通设置来选取一个尽可能优化的效果。 这三种方式对实现最佳负载均衡都有一定不足,mod_jk相对好些,可以通过设置lbfactor参数来分配请求任务。 所有这些在实际使用中都应该根据具体情况来选择。 简略配置如下: 前期准备: 1。下载Apache和Tomcat: Apache2.0.53: http://www.eu.apache.org/dist/httpd/binaries/win32/apache_2.0.53-win32-x86-no_ssl.msi Tomcat5.5.9: http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.zip
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-fulldocs.tar.gz
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-compat.zip
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-admin.zip mod_jk.so http://www.eu.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.8/mod_jk-1.2.8-apache-2.0.52.so (可选,因为Apache2.0.53已经自带). 2.配置Tomcat集群。 同时发布有clusterapp这个web应用,,修改test.jsp, 使得打开: http://192.168.9.235:12080/clusterapp/test.jsp 和 http://192.168.9.226:12080/clusterapp/test.jsp 看到的是不同的页面效果。 3.安装Apache2.0.53。 此时Tomcat集群的服务器为: 192.168.9.226:12080和192.168.9.235:12080
编辑c:/windows/system32/drivers/etc/host文件, 最后一行加上 127.0.0.1 lizongbo.com 先来R-proxy方式。 接下来是mod_jk方式。 重新启动apache,同样打开 http://lizongbo.com/clusterapp/test.jsp 不停的刷新这个页面,也将会看到页面显示出不同的内容。
参考资料:
Tomcat cluster:
http://www.onjava.com/onjava/2004/04/14/examples/tomcatclustering.zip
http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html
http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html?page=2
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html?page=2 R-proxy: http://www.douzhe.com/docs/ApacheManual/mod/mod_proxy.html#proxypassreverse http://www.douzhe.com/docs/ApacheManual/mod/mod_rewrite.html#rewritemap http://www.douzhe.com/docs/ApacheManual/mod/mod_rewrite.html#rewriterule mod_jk: http://jakarta.apache.org/tomcat/connectors-doc/config/apache.html http://jakarta.apache.org/tomcat/connectors-doc/config/workers.html http://jakarta.apache.org/tomcat/connectors-doc/common/ajpv13a.html http://www.mail-archive.com/[email protected]/msg146787.html 相对已经过时的资料(因为mod_jk2方式已经不被推荐,mod_jk2已经不再被更新了): http://www.sentom.net/list.asp?id=14 http://www.linuxforum.net/docnew/showthreaded.php?Cat=&Board=server&Number=507&page=1&view=collapsed&sb=5&o=all&fpart= http://www.ecoo.net/list.asp?articleid=2311 http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81013&m=0 http://search.csdn.net/expert/topicview1.asp?id=1706745
http://www.chinaitlab.com/www/news/article_show.asp?id=11921 可能有用的资料:(因为我还没有仔细看过) http://www.phpv.net/article.php/92 http://raibledesigns.com/tomcat/ http://www.crazysquirrel.com/debian/tomcat55.php
1.使用DNS轮询. 2.使用Apache R-proxy方式。 3.使用Apache mod_jk方式. DNS轮询的缺点是,当集群中某台服务器停止之后,用户由于dns缓存的缘故,便无法访问服务, 必须等到dns解析更新,或者这台服务器重新启动。 还有就是必须把集群中的所有服务端口暴露给外界,没有用apache做前置代理的方式安全, 并且占用大量公网IP地址,而且tomcat还要负责处理静态网页资源,影响效率。 优点是集群配置最简单,dns设置也非常简单。 R-proxy的缺点是,当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。 但是只要服务器再启动就不存在这个问题。 mod_jk方式的优点是,Apache 会自动检测到停止掉的tomcat,然后不再发请求过去。 缺点就是,当停止掉的tomcat服务器再次启动的时候,Apache检测不到,仍然不会转发请求过去。 R-proxy和mod_jk的共同优点是.可以只将Apache置于公网,节省公网IP地址资源。 可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理jsp和servlet等动态请求。 共同缺点是:如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。 R-proxy和mod_jk对静态页面请求的处理,都可以通设置来选取一个尽可能优化的效果。 这三种方式对实现最佳负载均衡都有一定不足,mod_jk相对好些,可以通过设置lbfactor参数来分配请求任务。 所有这些在实际使用中都应该根据具体情况来选择。 简略配置如下: 前期准备: 1。下载Apache和Tomcat: Apache2.0.53: http://www.eu.apache.org/dist/httpd/binaries/win32/apache_2.0.53-win32-x86-no_ssl.msi Tomcat5.5.9: http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.zip
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-fulldocs.tar.gz
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-compat.zip
http://www.eu.apache.org/dist/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9-admin.zip mod_jk.so http://www.eu.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.8/mod_jk-1.2.8-apache-2.0.52.so (可选,因为Apache2.0.53已经自带). 2.配置Tomcat集群。 同时发布有clusterapp这个web应用,,修改test.jsp, 使得打开: http://192.168.9.235:12080/clusterapp/test.jsp 和 http://192.168.9.226:12080/clusterapp/test.jsp 看到的是不同的页面效果。 3.安装Apache2.0.53。 此时Tomcat集群的服务器为: 192.168.9.226:12080和192.168.9.235:12080
编辑c:/windows/system32/drivers/etc/host文件, 最后一行加上 127.0.0.1 lizongbo.com 先来R-proxy方式。 接下来是mod_jk方式。 重新启动apache,同样打开 http://lizongbo.com/clusterapp/test.jsp 不停的刷新这个页面,也将会看到页面显示出不同的内容。
参考资料:
Tomcat cluster:
http://www.onjava.com/onjava/2004/04/14/examples/tomcatclustering.zip
http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html
http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html?page=2
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html?page=2 R-proxy: http://www.douzhe.com/docs/ApacheManual/mod/mod_proxy.html#proxypassreverse http://www.douzhe.com/docs/ApacheManual/mod/mod_rewrite.html#rewritemap http://www.douzhe.com/docs/ApacheManual/mod/mod_rewrite.html#rewriterule mod_jk: http://jakarta.apache.org/tomcat/connectors-doc/config/apache.html http://jakarta.apache.org/tomcat/connectors-doc/config/workers.html http://jakarta.apache.org/tomcat/connectors-doc/common/ajpv13a.html http://www.mail-archive.com/[email protected]/msg146787.html 相对已经过时的资料(因为mod_jk2方式已经不被推荐,mod_jk2已经不再被更新了): http://www.sentom.net/list.asp?id=14 http://www.linuxforum.net/docnew/showthreaded.php?Cat=&Board=server&Number=507&page=1&view=collapsed&sb=5&o=all&fpart= http://www.ecoo.net/list.asp?articleid=2311 http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81013&m=0 http://search.csdn.net/expert/topicview1.asp?id=1706745
http://www.chinaitlab.com/www/news/article_show.asp?id=11921 可能有用的资料:(因为我还没有仔细看过) http://www.phpv.net/article.php/92 http://raibledesigns.com/tomcat/ http://www.crazysquirrel.com/debian/tomcat55.php
相关阅读 更多 +