簡體   English   中英

CakePHP高可用性服務器場設置

[英]CakePHP High-Availability Server Farm setup

我目前正在配置基於CakePHP(1.3)的Web應用程序以在HA安裝程序中運行。 我有4個Web框運行應用程序本身是一個用於數據庫后端的MySQL集群。 我有用戶每周上傳12,000 - 24,000張圖片(35-70 GB)。 然后,該應用程序從原始圖像生成2個附加文件,縮略圖和中等大小的圖像進行預覽。 這意味着每周總共有36,000 - 72,000個可能的文件添加到存儲庫中。

我試圖解決的是如何處理來自試圖查看這些圖像的用戶的大量靜態文件請求。 我的意思是我可以有多個Web服務器只提供靜態文件,負載均衡器可以調度請求。

但是,有沒有人對如何保持所有靜態文件服務器同步有任何想法?

如果您有任何想要分享的經歷,或者對我有任何有用的鏈接,我們將非常感激。

謝謝,

serialk

這是一個非常棘手的問題。

從技術上講,您可以通過NFS(或SMB,如果您喜歡)等方式獲得高可用性共享目錄,使用DRBD和Linux-HA進行主動/被動設置。 這樣的設置對於單個服務器丟失具有良好的可用性,但是,這樣的設置非常浪費並且不容易擴展 - 您必須讓應用程序自己決定去哪個服務器,配置NFS安裝等,這一切都變得相當復雜。

所以我可能會提示避免將圖像保存在文件系統中 - 或者至少不是傳統類型。 我假設您需要靈活地在未來添加更多存儲 - 如果您可以保持存儲和IO要求不變,DRBD,HA NFS可能是一個很好的系統。

用於在靈活的“雲”中存儲文件

Tahoe LAFS

或許,在推動下,Cassandra,需要更多的整合,但在某些方面可能更好。

MySQL-cluster不適合大blob,因為它(大多數)將數據保存在ram中; 它提供的高一致性也需要大量鎖定,這使得更新在高工作負載下(相對)嚴重。

但是你仍然可以考慮將圖像放在mysql-cluster中,特別是當你已經設置它時 - 它不需要更多的操作開銷。

暫無
暫無

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

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