我机器上的一个酒窖组中有三个karaf节点。第一个节点(lb_node
)用作load_balancer,其他两个节点(1_node
和2_node
)用作服务节点(具有已部署的功能)。两个节点都有/service
地址可用。我在群集上安装了cellar-http-balancer
功能。此外,我已在1_node
和2_node
上安装了本地示例功能
问题是,当我开始1_node
和2_node
时,他们的服务未在lb_node
中正确注册。来自http-list
的{{1}}输出:
lb_node
正如您只能看到一个节点注册的地址。当我在浏览器中输入 ID | Servlet | Servlet-Name | State | Alias | Url
103 | CellarBalancerProxyServlet | ServletModel-10 | Failed | /features | [/features/*]
103 | CellarBalancerProxyServlet | ServletModel-11 | Failed | /jolokia | [/jolokia/*]
103 | CellarBalancerProxyServlet | ServletModel-12 | Failed | /gogo | [/gogo/*]
103 | CellarBalancerProxyServlet | ServletModel-9 | Failed | /instance | [/instance/*]
103 | CellarBalancerProxyServlet | ServletModel-13 | Failed | /services | [/services/*]
103 | CellarBalancerProxyServlet | ServletModel-8 | Deployed | /jolokia | [/jolokia/*]
103 | CellarBalancerProxyServlet | ServletModel-14 | Failed | /system/console/res | [/system/console/res/*]
103 | CellarBalancerProxyServlet | ServletModel-15 | Failed | /system/console | [/system/console/*]
103 | CellarBalancerProxyServlet | ServletModel-3 | Deployed | /gogo | [/gogo/*]
103 | CellarBalancerProxyServlet | ServletModel-2 | Deployed | /instance | [/instance/*]
103 | CellarBalancerProxyServlet | ServletModel-7 | Deployed | /features | [/features/*]
103 | CellarBalancerProxyServlet | ServletModel-6 | Deployed | /services | [/services/*]
103 | CellarBalancerProxyServlet | ServletModel-5 | Deployed | /system/console | [/system/console/*]
103 | CellarBalancerProxyServlet | ServletModel-4 | Deployed | /system/console/res | [/system/console/res/*]
url以检查其他节点的功能是否有效时,确实如此。但是当我关闭注册节点时,lb_node
将不再作为代理。它抛出lb_node
在教程https://karaf.apache.org/manual/cellar/latest-4/#_http_balancer中,只有一个节点有服务和一个平衡器,这不是我的情况。
有没有办法使用karaf和cellar实现http负载均衡的主动/主动群集?
答案 0 :(得分:0)
我把它作为答案,因为我无法评论(没有声誉),我没有回答你的问题,但它可能对你有帮助。
我找到了this github项目,它做了我认为你想要实现的目标,我还没有测试过它。