Apache Jakarta(Tomcat)连接器,用于将流量转发到特定的Tomcat

时间:2012-03-13 17:11:28

标签: apache iis tomcat load-balancing connector

到目前为止,我无法使用Apache Jakarta(Tomcat)连接器负载平衡功能解决一个用例。

我有一个IIS站点,它附加了一个Apache Tomcat Connector。我需要根据请求的URI将流量“转发”到不同的Tomcat。当您只有具有特定上下文的应用程序(例如/ app1,/ app2等)时,这很简单。我的问题是我有一个应用程序(在一个Tomcat中)位于/(ROOT)和另一个应用程序(在另一个Tomcat中)位于/ app1。

我在uriworkermap.properties中尝试了以下配置:

/*=loadBalancer1
/app1/*=loadBalancer2

但这不起作用,因为“loadBalancer1”占用了所有流量。 “loadBalancer2”被忽略,这是有道理的,因为/ app1 / *匹配/ *(regexp wise)。

我还尝试添加排除项:

/*=loadBalancer1
!/app1/*=loadBalancer1
/app1/*=loadBalancer2

但这也不起作用,因为“loadBalancer1”仍在占用所有流量,但只是忽略了“/ app1 / *”URI模式。 “loadBalancer2”再次被忽略。

任何建议,请记住我不能拥有2个IIS站点,也不能将位于/(ROOT)的应用程序移动到Tomcat中的不同上下文路径?

谢谢

修改 我没有使用一个Apache Tomcat连接器,而是在同一个IIS站点上为每个Tomcat使用1个连接器。

uriworkermap.properties#1:for Tomcat with app at /(ROOT)

/*=wlb
!/app1/*=wlb

uriworkermap.proerties#2:适用于Tomcat,应用程序位于/ app1

/app1/*=wlb

连接器#1将忽略URI“/ app1 / *”上的流量,但连接器#2将捕获它(反之亦然)。

现在,我可以为我的应用设置不同的VM选项和内存分配!

我愿意接受评论或更好的解决方案..

1 个答案:

答案 0 :(得分:0)

当你逆转它时它是否有效?

/app1/*=loadBalancer2
/*=loadBalancer1