快速將文件發送到數十台伺服器

快速將文件發送到數十台伺服器

我們有一組機器(大約 50 台並且還在增加)。每台機器都有搜尋索引,每天需要更新多次。目前,我們單獨更新每台機器上的索引,但理想情況下,我們可以在一台機器上更新索引,然後將新檔案同步到叢集的其餘部分。我們最初使用 rsync 來處理這個問題,但隨著機器數量的增長,很明顯這個解決方案無法擴展。我剛開始研究多播檔案傳輸。有沒有在這裡有經驗的人可以推薦一些值得一看的地方嗎?

答案1

這曾經是我的面試問題...

多播選項:
BitTorrent
使用發布/訂閱訊息傳遞的其他協定。

另一種方法...使用分發樹:
傳送到N個主機,這些主機將依序傳送到N個主機;然後沿著樹往下走。這當然需要您進行一些開發工作,但這可能是更具可擴展性的方法。

其中大部分取決於您實際需要滿足的系統數量、索引大小和網路基礎架構。

答案2

使用共用檔案系統可能會更好,特別是當應用程式使用搜尋索引(即在目標端)只讀搜尋索引時。這樣,大部分複雜的工作就為您完成了。

答案3

嘗試比特流。它旨在快速將檔案傳播到多個主機。多播會讓你的網路工程師痛苦地尖叫:)

答案4

我建議看看 git。我過去曾使用它在一台伺服器上進行更改並將其推出,或在其他伺服器上使用 cron 作業將其拉下。該解決方案具有相當大的靈活性。

相關內容