我能够使用 Tomcat 7 和 Apache mod_jk 实现负载平衡,方法是使用在 httpd.conf 和 worker.properties 中配置的负载平衡器从两个不同的 tomcat 实例运行相同的应用程序工作正常。
- httpd.conf
JkMount /myApp/* loadbalancer
- worker.properties
worker.list= worker,worker1,loadbalancer worker.worker1.port=8009 worker.worker1.host=IP worker.worker1.type=ajp13 worker.worker.port=8009 worker.worker.host=IP worker.Worker.type=ajp13 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=worker,worker1
但是我正在尝试拥有多个负载均衡器,以防万一单个负载均衡器出现故障,那么在这种情况下我们有一个后备负载均衡器,因为在这种情况下只有一个负载均衡器。 Apache mod_jk 是否可行。
最佳答案
在您在问题中描述的情况下,Apache httpd 是负载平衡器,它恰好使用 mod_jk 来完成实际的平衡工作。如果 Apache httpd 消失,您将不再平衡。因此,“我正在尝试拥有多个负载平衡器 - 这对 mod_jk 可行吗”这个问题对我来说没有意义......
您可以有多个负载均衡器,每个负载均衡器都使用自己的 mod_jk。但这与此无关。
从技术上讲,这个问题的正确答案是:当然 - 只需配置相同的 Apache httpd 并将其放在同一网络上,然后配置您需要的任何内容(IP 故障转移、循环 DNS)以确保两个负载均衡器现在分布负载。确保 tomcat 后端接受足够的连接来为两个负载均衡器提供服务。
但是 mod_jk,恕我直言,在这个问题上没有什么可说的。
关于java - 使用 apache mod_jk、tomcat 的回退负载平衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42620611/