簡體   English   中英

通過文件系統窗口跨多台計算機同步多個進程

[英]Synchronize multiple processes across multiple machines through file system windows

我正在編寫一個應用程序,該應用程序通過網絡接收一些軟件包,然后一些客戶端從此應用程序接收這些軟件包。 現在,我想使體系結構可擴展。 程序包臨時存儲在文件系統上,直到被消費者應用程序接收到為止。 如果我准備將要發送的程序包存儲在某個文件夾中,則需要某種方式來區分正在處理的程序包和仍在等待處理的程序包。 這個想法是在程序包文件夾中創建特殊的鎖定文件,並保持鎖定狀態,直到程序包傳輸完成為止(完成后刪除此鎖定文件和程序包文件夾本身)。 替代方案是使用某種共享資源(例如,消息隊列或數據庫)。 問題是使用文件系統進行這種進程間通信是否足夠安全?

您可以使用任何介質來存儲您的數據(無論哪種方式,它最終都將存儲在文件系統中)。 您可能應該問自己的主要問題是您想擁有什么功能:擴展原始文件可能會遇到很多問題,可能難以實現安全性層(例如,基於角色的訪問)等。

RabbitMQ似乎可以很好地解決您的情況,因為它提供了通用的排隊機制以及持久性和可伸縮性。 我不知道您的項目的詳細信息,但是我建議您查看Redis的類似功能以及在“隊列”中修改對象的功能。

無論如何,基於文件的存儲可能是嘗試(創建MVP)的一個好主意,但我建議將來不要這樣做。

暫無
暫無

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

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