我正在尝试设置一个 Apache Web 服务器,以便在两个 Tomcat 服务器上平衡客户端的请求。对于 Web 服务,我使用 Axis2。它部署在两个 Tomcat 上。当我调用 Web 服务时,总是只有一个服务器应答,尽管集群已经建立。我使用了本教程 Axis2 1.6.1、Tomcat 7、Apache Web Server 2.2,并在 Windows 32 位系统上运行它。如何平衡两个 Tomcat 上的客户端请求?它可能与 Web 服务器的代理配置有关,但这只是一个想法。如果您需要截图或其他,请告诉我。对不起我的德国口音:)
问问题
3676 次
2 回答
1
通常使用负载平衡(集群),一台服务器将首先回答 - 哪一台将由负载平衡器(代理)在其配置中决定。负载平衡器(代理)通常会查询所有集群服务器,直到找到一个不太忙的服务器。为了测试集群环境,您必须模拟(或创建)高负载,或者您可以“减慢”(或完全停止)其中一台服务器。
于 2012-07-24T10:06:09.897 回答
1
好的,现在可以了。这是axis2.xml文件中的配置问题,我的IP错误。现在我在每个实例上都有以下配置:
<!-- The host name or IP address of this member -->
<parameter name="localMemberHost">127.0.0.1</parameter>
同样重要的是 Tomcat 实例的 server.xml 文件。此处每个实例的 Shutdown 端口必须不同:
实例 1:
<Server port="8005" shutdown="SHUTDOWN">
实例 2:
<Server port="8015" shutdown="SHUTDOWN">
连接器端口也必须不同:
实例 1:
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
实例 2:
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
然后我只是在 Apache Webserver 的 httpd.conf 文件中设置这些调整,如下所示:
BalancerMember ajp://127.0.0.1:8009 min=1 max=1 route=node1 loadfactor=1
BalancerMember ajp://127.0.0.1:8010 min=1 max=1 route=node2 loadfactor=1
现在我的集群工作正常。有时您必须返回一些步骤才能了解问题所在。
于 2012-07-26T10:53:21.650 回答