﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Sun-文章分类-JAVAEE</title><link>http://www.blogjava.net/beijing2008/category/40639.html</link><description>鱼总是在海里过完一生</description><language>zh-cn</language><lastBuildDate>Wed, 21 Apr 2010 00:08:38 GMT</lastBuildDate><pubDate>Wed, 21 Apr 2010 00:08:38 GMT</pubDate><ttl>60</ttl><item><title>tomcat 三种集群方式(转)</title><link>http://www.blogjava.net/beijing2008/articles/293004.html</link><dc:creator>.Sun</dc:creator><author>.Sun</author><pubDate>Fri, 28 Aug 2009 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/beijing2008/articles/293004.html</guid><wfw:comment>http://www.blogjava.net/beijing2008/comments/293004.html</wfw:comment><comments>http://www.blogjava.net/beijing2008/articles/293004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/beijing2008/comments/commentRss/293004.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beijing2008/services/trackbacks/293004.html</trackback:ping><description><![CDATA[<p style="margin-right: 0px" dir="ltr"><span style="font-family: 新宋体; font-size: 14pt"><span style="font-size: 10pt; "><span style="font-size: 12pt; "><span style="font-size: 10pt; "><span style="font-family: 微软雅黑; ">1.使用DNS轮询.<br />
2.使用Apache R-proxy方式。<br />
3.使用Apache mod_jk方式.<br />
&nbsp;<br />
DNS轮询的缺点是，当集群中某台服务器停止之后，用户由于dns缓存的缘故，便无法访问服务，<br />
必须等到dns解析更新，或者这台服务器重新启动。<br />
还有就是必须把集群中的所有服务端口暴露给外界，没有用apache做前置代理的方式安全，<br />
并且占用大量公网IP地址，而且tomcat还要负责处理静态网页资源，影响效率。<br />
优点是集群配置最简单，dns设置也非常简单。<br />
&nbsp;<br />
R-proxy的缺点是，当其中一台tomcat停止运行的时候，apache仍然会转发请求过去，导致502网关错误。<br />
但是只要服务器再启动就不存在这个问题。<br />
&nbsp;<br />
mod_jk方式的优点是，Apache 会自动检测到停止掉的tomcat，然后不再发请求过去。<br />
缺点就是，当停止掉的tomcat服务器再次启动的时候，Apache检测不到，仍然不会转发请求过去。<br />
&nbsp;<br />
R-proxy和mod_jk的共同优点是.可以只将Apache置于公网，节省公网IP地址资源。<br />
可以通过设置来实现Apache专门负责处理静态网页，让Tomcat专门负责处理jsp和servlet等动态请求。<br />
共同缺点是：如果前置Apache代理服务器停止运行，所有集群服务将无法对外提供。<br />
R-proxy和mod_jk对静态页面请求的处理，都可以通设置来选取一个尽可能优化的效果。<br />
这三种方式对实现最佳负载均衡都有一定不足，mod_jk相对好些，可以通过设置lbfactor参数来分配请求任务，但又因为mod_jk2方式不被推荐，mod_jk2已经不再被更新了。<br />
<br />
转自：<a href="http://www.blogjava.net/kit-soft/archive/2009/08/28/292983.html">http://www.blogjava.net/kit-soft/archive/2009/08/28/292983.html</a></span><a href="http://www.blogjava.net/kit-soft/archive/2009/08/28/292983.html"></a></span><a href="http://www.blogjava.net/kit-soft/archive/2009/08/28/292983.html"></a></span><a href="http://www.blogjava.net/kit-soft/archive/2009/08/28/292983.html"></a></span><a href="http://www.blogjava.net/kit-soft/archive/2009/08/28/292983.html"></a><br />
</span></p>
<img src ="http://www.blogjava.net/beijing2008/aggbug/293004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beijing2008/" target="_blank">.Sun</a> 2009-08-28 17:03 <a href="http://www.blogjava.net/beijing2008/articles/293004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>