I have no experience on load balancing softwares and I am a little lost in the documentation and research. What I am looking for is if there is an API for mode_cluster balancer or some programmatic way to remove a configured node or add a new node without having to restart the Apache server.
1 回答
回答
事实上,这里是你的例子,除了 jboss-cli 一个明显的例外,因为你使用的是 Tomcat。mod_cluster 管理器控制台 1 和 telnet 1 是有效的。
CONFIG
特别是消息示例,例如:
{ echo "CONFIG / HTTP/1.1"; echo "Host: rhel7GAx86-64:8847"; echo "Content-Length: 115"; echo "User-Agent: Test"; echo ""; echo -e "JVMRoute=worker1&Host=192.168.1.1&Maxattempts=1&Port=8080&StickySessionForce=No&Type=ajp&ping=10&Aliases=default\c"; sleep 1;} | telnet rhel7GAx86-64:8847
rhel7GAx86-64:8847
您在 Apache HTTP Server 中启用 MCMP 的 VirtualHost 在哪里,并且192.168.1.1:8080
是您的工作节点。
在CONFIG
消息之后,STATUS
预计会出现消息,例如:
{ echo "STATUS / HTTP/1.1"; echo "Host: rhel7GAx86-64:8847"; echo "Content-length: 26"; echo ""; echo -e "JVMRoute=worker1&Load=100/c"; sleep 1; sleep 1; } | telnet rhel7GAx86-64 8847
如果您希望配置上下文,ENABLE-APP 消息会跟随。
进一步阐述
现在,请解释一下你为什么需要它?这种说法是错误的:
我不能使用 mod_cluster 用来识别节点的默认 ping/pong 方式。– DonCorleone 10 月 20 日 13:36
Cping/Cpong 逻辑仅与 AJP 协议一起使用,以便在将请求转发给它们之前检查已注册工作节点的适用性。它与向 Apache HTTP Server 负载平衡器注册自己的工作节点无关。
Apache HTTP 服务器通过 UDP 多播消息通告它的存在。然后,您的 Tomcat 工作节点将自己及其应用程序上下文注册到 Apache HTTP Server。当您启动/关闭 Tomcat 或部署/取消部署应用程序时,Apache HTTP Server会自动更新其工作人员列表及其部署的应用程序,因此负载均衡器始终知道它应该将新请求转发到哪里。
除非您正在编写某种测试套件,否则我无法理解您的用例可能是什么。感谢您分享您的想法。
干杯