2016-06-11 27 views
0

我正在使用MEAN堆棧開展個人項目,並非常感謝在設置服務器體系結構時應該採取哪條路線的建議。性能和可擴展性對我來說很重要,因爲我希望在將來構建企業級Web應用程序。MEAN Stack - 我應該分開服務器嗎?

這個項目將是一個圖片託管的應用程序,其中將包括前端,私有API和文件存儲系統。

選項1:所有在同一臺服務器

選項2上:前端及私人API同一服務器上。文件存儲在不同的服務器上

選項3:前端私有API和文件存儲都將在其自己的服務器上。

我想選項2可能是最好的選擇,但我很想從那些誰在開發應用程序與類似的架構經驗中學習。

謝謝!

+0

這個問題不交代所呈現。所有這些選項同樣有效,原因不同。指望他人瞭解您的工作條件或應用程序使用要求是不合理的。 – Claies

+0

Hi @Claies感謝您花時間回覆。我知道我試圖建立的是一個可以處理100k +用戶和每天1M上傳的web應用,這有點含糊。 – tux

回答

1

取決於你想在服務器基礎設施的不同情況花了多少規模,你期待,有多少是合適的。我會盡力解釋這兩個世界的一個最好的。

  • 對於基於API的所有服務,它們應該位於可擴展的基礎架構上。出於這個原因,它們大多數都是服務器的形式,總是落後於負載均衡器。根據流量類型和地區進行縮放。爲此,目前業界最喜歡的是基於碼頭的微服務。 Google App Engine是另一個可比較的解決方案。
  • 對於所有基於前端/用戶界面的東西,應該將它們存儲在CDN上以優化傳送。對於CDN,您認爲即使基於私有API的服務速度較慢,您的應用程序的UI始終可供最終用戶使用。 CDN便宜,它們將對您的最終用戶產生巨大影響。
  • 對於圖像/文件存儲,您應該使用基於Blob存儲的解決方案。現在你的服務器硬盤大多是固態硬盤,他們花了一大筆錢。此外,這些磁盤連接到您的服務器,因此真正容易出錯或安全問題。使用blob存儲很有幫助,因爲它可以處理冗餘和可擴展的存儲以及某種形式的安全性。

在這種模式下,您將確保您的文件是安全的,從你的業務邏輯了,您的最終用戶可以訪問你的web應用程序,即使你的核心服務是緩慢的,而且很容易地管理服務器API /服務基於規模。

+0

感謝Vikram的回覆,非常有幫助! – tux

0

您不應該事先將您的服務器體系結構預先燒掉。但是沿途測量並改進所需的缺乏特徵。

所以我會去與第一同一服務器的方法。

而設計的前端的無服務器架構

創建一個私有API和單獨的文件存儲API用於讀取/寫入。這些可以是微服務在需要時可隨時擴展。

您可以將這些作品放置在其他雲層上,或者使用您自己的尺寸進行垂直/水平或地理比例縮放。

因此,您將縮放部分烘焙到您的設計中,但只在需要時進行縮放。

基本上你需要照顧現在,您架構分離成片的唯一的事情,所以你準備在需要時按比例。

:在主題兩個好讀如下:Infrastructure as CodeBuilding microservices

+0

感謝您的答覆和資源,以幫助我實現這一目標! – tux

相關問題