到目前为止,我无法使用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选项和内存分配!
我愿意接受评论或更好的解决方案..
答案 0 :(得分:0)
当你逆转它时它是否有效?
/app1/*=loadBalancer2 /*=loadBalancer1