使用 apache mod_jk、tomcat 的后备负载平衡器
Fallback Load balancer with apache mod_jk, tomcat
我能够使用 Tomcat 7 和 Apache mod_jk 通过 运行 来自两个不同 tomcat 实例的相同应用程序使用在 httpd.conf 和 worker.properties 工作正常。
- 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 消失,您将不再平衡。因此 "I'm trying to have multiple load balancers - is this possible with mod_jk" 这个问题对我来说没有意义...
您可以有多个负载均衡器,每个负载均衡器都使用自己的 mod_jk。但这与此无关。
从技术上讲,这个问题的正确答案是:当然 - 只需配置相同的 Apache httpd 并将其放在同一网络上,然后配置您需要的任何内容(IP 故障转移、循环 DNS)以确保两个负载均衡器现在分配负载。确保 tomcat 后端接受足够的连接来为两个负载均衡器提供服务。
但是 mod_jk 恕我直言,这个问题没什么好说的。
我能够使用 Tomcat 7 和 Apache mod_jk 通过 运行 来自两个不同 tomcat 实例的相同应用程序使用在 httpd.conf 和 worker.properties 工作正常。
- 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 消失,您将不再平衡。因此 "I'm trying to have multiple load balancers - is this possible with mod_jk" 这个问题对我来说没有意义...
您可以有多个负载均衡器,每个负载均衡器都使用自己的 mod_jk。但这与此无关。
从技术上讲,这个问题的正确答案是:当然 - 只需配置相同的 Apache httpd 并将其放在同一网络上,然后配置您需要的任何内容(IP 故障转移、循环 DNS)以确保两个负载均衡器现在分配负载。确保 tomcat 后端接受足够的连接来为两个负载均衡器提供服务。
但是 mod_jk 恕我直言,这个问题没什么好说的。