簡體   English   中英

Java負載平衡Tcp代理服務器設計

[英]Java Load balancing Tcp proxy server design

我想設計和實現一個代理服務器,該服務器接受客戶端請求,然后從屬性文件中讀取主機連接配置,並使用輪詢算法選擇可用的主機,然后通過在代理服務器和服務器之間創建新的套接字,將客戶端請求傳遞給選定的主機主機。我的問題是最佳做法是什么?如果無法訪問可用主機,應該如何處理? 我應該使用的最合適的設計模式是什么

在此處輸入圖片說明

這是根據某種模式在主機之間平衡負載的傳統問題,您提到您的意圖是使用“ Round Robbin”,但是您可以使用很多負載平衡模式, Apache camel確實提供了大多數服務,如果您想實現純負載平衡,請嘗試一下駱駝源代碼,但是可以使用穩定的駱駝實現。

我認為本文實際上是在概念上解釋了可以實現的不同負載平衡算法。 負載平衡算法

使用簡單的輪詢,如果在嘗試分派客戶端的傳入請求時任何主機[i]不可用,只需將其狀態標記為不可用。

  1. 一種策略是從此以后忽略不可用的主機。

  2. 另一個選擇是在下次再次檢查不可用的主機,以防主機再次可用。

  3. 可以執行另一種更好的主動監視方式,即在代理服務器和主機之間發送定期心跳以確定可用性,而不是在請求分發時確定。

但是使用哪種方式實際上取決於您的性能目標(例如吞吐量,延遲),每個主機處理能力等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM