簡體   English   中英

具有負載平衡的 Umbraco 8 應用程序

[英]Umbraco 8 application with load balancing

我有一個托管在 AWS EC2 服務器中的 Umbraco 8.2.2 應用程序。
最近,我遇到服務器可用性問題,偶爾會導致停機。
我考慮過的解決方案之一是維護一個額外的 AWS EC2 服務器,該服務器托管相同的應用程序(相同的代碼,相同的數據庫)並在它們之間配置負載平衡。
它將托管客戶端和服務器。

根據您的經驗,這在多大程度上是可能的?
我該如何處理共享媒體和緩存文件夾等障礙,因為它們應該是相同的?
我聽說過 S3 作為一個選項。
我可能會面臨哪些額外的障礙,我應該關注什么?
謝謝。

這聽起來像是 Amazon EFS 的一個很好的用例,它為您提供了一個共享的 POSIX 文件系統。 您可以將媒體和緩存文件夾所在的目錄掛載到 EFS 共享,然后將 EFS 共享掛載到負載均衡器后面的后端 EC2 實例。 此解決方案需要對您的應用程序本身進行很少或不需要更改,您只需更改應用程序中某些文件的存儲介質。

至於障礙,EFS 是一個網絡文件系統,因此,通常不建議從 EFS 共享執行代碼或將其用於需要非常低存儲延遲的應用程序。 如果是這種情況,那么您可以考慮使用 Amazon FSx,但這是一個非常昂貴的解決方案。

如果您無法避免從 EFS 執行您的代碼,只需嘗試一下,看看它如何影響您的應用程序的性能。 EFS 適用於大量 web 應用程序用例。 這是一個教程,介紹如何在負載平衡環境后使用 EFS 托管一個簡單的網站,以幫助您入門。

如果 EFS 不是一個選項,那么您可以嘗試將您的 static 內容卸載到 Amazon S3 並通過 CloudFront 提供它。 這可能是一個更便宜的選擇,可以從您的負載均衡器和 EC2 實例中卸載大量流量,但它也可能需要更多工作,因為您必須重構您的應用程序以通過 CloudFront 為您的內容提供服務。 這是一個關於如何創建一個 static 網站的教程(還有更多在線教程),該網站通過 CloudFront 提供內容。 在您的情況下,您將通過 S3/CloudFront 提供內容(即您的媒體文件),然后更新應用程序中使用的鏈接以從 CloudFront 端點檢索該內容,而不是直接從您的應用程序/負載均衡器端點檢索它們。 .. 所以你需要做的工作有兩個方面,設置 S3/CloudFront 環境,配置你的應用程序以將內容卸載到 S3 並通過 CloudFront 提供它。

暫無
暫無

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

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