[英]Implementing custom client-side load balancing policy in hornetq
我想在HornetQ中實施一個取決於節點IP地址的負載平衡策略。 例如,如果指定的節點可用,則將其連接到該節點,否則連接到一個隨機節點。 但是,ConnectionLoadBalancingPolicy接口僅將數字作為輸入
int select (int max);
假設最大為3,我想在選擇節點之前知道IP地址0,1,2。 那可能嗎?
它是在HornetQ文檔的該部分中編寫的:
可以通過以下兩種方法之一確定工廠負載平衡所在的服務器集:
Specifying servers explicitly Using discovery.
那么,如何使用發現方式獲得它們並將它們與從ConnectionLoadBalancingPolicy獲得的最大數量進行匹配?
謝謝,薩米
您可以通過執行以下操作在客戶端的ServerLocator上指定自定義負載均衡器:
ServerLocator locator = ....
locator.setConnectionLoadBalancingPolicyClassName("YOUR-CLASS-NAME);
但是,當前版本不允許您訪問拓撲陣列。
我們應該更改實現,以將topologyArray發送給select方法。 如果您打開JIRA,我們將為您解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.