儘管我有很多編寫代碼的經驗。我沒有太多的部署經驗。我正在編寫一個項目,該項目使用mongodb進行持久化,redis進行元緩存,並播放服務頁面。我正在決定是否購買專用服務器與從亞馬遜/林德購買多個小型/中型實例(每種都有一個,mongo,redis,play)。我想到了如下的權衡,我想知道是否有人可以添加到列表中或提供進一步的見解。我傾向於(b)從linode和amazon購買兩套實例,因此如果其中一個實例出現故障,它將故障轉移到另一個提供商。此外,如果任何人有任何提示部署scala/maven羣集或工具來做到這一點,非常感謝。爲服務/數據/緩存部署多個實例的好處
A.把一切都放在一個實例
優點:
- 更快的數據庫和網頁的servlet(同一主機)之間的速度。
- 便宜。
- 較少的端點以確保安全。
缺點:
- 更難管理。 (在我看來)
- 難以升級單個模塊。如果存在安裝問題,可能會導致整個系統無法運行。
B.把每個模塊(蒙戈,Redis的,播放)在不同的情況下
優點:
- 分片更容易。
- 更容易爲一個目的創建羣集。 (即redis集羣)
- 更容易在模塊之間分配資源。
- 不太可能一切都會一次失敗。
缺點:
- 模塊之間的帶寬 - > $
- 固定每個連接和結束點。