人們在尋求一種安全的文件交換機制。今天,我們很自豪地宣布新的開源文件伺服器模組。在 Psono 的生態系統中,作為最新的組件,它解決了多個問題:
這時 Psono 派上了用場。Psono 是在考慮所有這些問題的前提下設計的,並且極其靈活。
那麼,你會想知道對用戶來說它是什麼樣的。很簡單。
夠簡單了,我希望是這樣。
在背後,客戶端會執行一些更為複雜的步驟,但所有這些都對用戶隱藏:
通過這種機制,我們可以解決任何文件大小問題,因為文件被分成塊。即使是單個文件,我們也可以在多個服務器中分佈上傳。所有文件(就像 Psono 的其他事物一樣)在離開客戶端之前都被加密,並被發送到服務器。
上方部分展示了典型的設置。一個中繼伺服器(一個簡單的反向代理)提供一些靜態文件(網絡客戶端)。網絡客戶端被提供給瀏覽器,然後調用服務器上的 REST API 端點。服務器使用 Postgres 數據庫來存儲所有持久化數據。Psono 網絡客戶端和 Psono 服務器可以被認為是無狀態的,所有數據都存儲在 Postgres 數據庫中。
如果你現在想要附加一個文件伺服器,首先需要在服務器創建一個分片和集群配置,然後可以用來配置實際的文件伺服器。一旦文件伺服器啟動,它會自動註冊並每隔 10 秒鐘繼續宣布其可用性。如果一個文件伺服器崩潰,服務器會識別這一點,並停止將客戶端發送至故障伺服器。當它回來時,它會自動註冊再次接收來自客戶端的請求。在上圖中,我們將所有塊存儲在本地存儲中,並有一個中繼伺服器(可與小型環境中的正常伺服器、網絡客戶端相同)進行 SSL 卸載。
除了本地存儲,您還可以使用各種存儲後端甚至可以混合使用。
目前支持的(除了本地存儲之外)有 Amazon S3、GCP 雲存儲和 Azure Blob 存儲。
您可以使用多個文件伺服器來解決例如由於帶寬限制引起的性能問題。您可能有人在遠程工作,但在您的辦公室中僅有很弱的互聯網連接。另一個用例可能是,您希望更好地保護本地文件並:
解決性能問題並給予您更好隔離的一個設置可能如下:
此設置在站點間雙向共享“外部”分片的所有流量,允許外部用戶上傳文件,然後可以由員工下載,反之亦然。
另一方面,本地部署的分片永遠不會同步到遠端位置,並且保護得更好。由於“外部”分片中的文件僅同步一次,無論何時變更,您可以有 100 名員工從此分片訪問文件,而不必從遠端下載 100 次。或者如果您上傳文件,則可以與 100 名外部用戶共享,而不需上傳 100 次。
帶寬優勢可以用來連接遠端位置,設置類似於這樣:
在此設置中,每個站點都有自己的文件伺服器,所有文件在網站間共享。寫入僅針對特定的分片,這允許每個分片的單向同步。此設置將允許紐約的員工訪問文件,沒有任何延遲。
下一個重點是負載均衡。如果您只有幾位員工未飽和帶寬,那麼所有這一切都很好。如果您有 1000 名員工,定期訪問文件伺服器,那麼這將會對單個服務器產生帶寬限制。然而,幸運的是 Psono 可以應對這種情況。以下是 Psono 的文件伺服器提供的兩種負載均衡選擇。
您可能已經有了一個想要使用的負載均衡器,那麼您的設置可以是這樣:
在這個設置中,使用了一個負載均衡器進行 SSL 卸載。兩個文件伺服器位於後面,用於處理實際的請求。它們都宣布相同的分片,因此需要同步該分片或擁有一些共享存儲。一種方法可能是使用 GlusterFS 或簡單的 rsync。
另一種方案是,允許客戶端負載均衡所有東西,這樣可以節省一些設置和成本。一個沒有額外負載均衡器的設置可能如下。
所有這些設置都可以堆疊,例如三個每個有兩個伺服器的集群。每個集群服務同一分片,下面有一個同步(或共享)的存儲。
希望我能為您提供一個關於 Psono 新的強大文件伺服器模組的強大功能的好印象。