2014-11-03 25 views
-1

我目前有一系列的15個網站,運行在的同一代碼庫的15個實例,並分佈在四個專用服務器上。每個站點只有輕微的不同,具有不同的主題,並且一些設置和翻譯被改變以匹配實例,但是否則它們是相同的。從一個代碼庫運行多個用戶較重的網站

這裏是我的意思的例子:

  • 服務器1
    • 網站1
    • 網站2
    • 網站3
    • 網站4
  • 服務器2
    • 網站5
    • 站點6
    • 站點7
    • 站點8
  • 服務器3
    • 網站9
    • 站點10
    • 硅TE 11
    • 站點12
  • 服務器4
    • 站點13
    • 站點14
    • 站點15

當只有一個服務器,該管理起來相當容易,但現在有15個(並且在不斷增長)網站的不同變體的實例,它變成管理和更新的噩夢。

我目前正在重寫代碼庫,並希望將網站整合到一個網站中,但我知道具有這麼多負載的單個服務器會顯着降低系統速度。

我需要一種方法來合併所有這些數據而不會導致性能下降。我在想我可以在兩臺服務器上運行數據庫服務器,一臺是緩存(如varnish),另一臺是nginx,但是這並不是很可擴展的。

有沒有更好的方法我錯過了?

+0

而且必須至少有15種不同的方式來實施解決方案。 – 2014-11-03 22:17:25

+0

此外,或者,也許有更好的部署方式?我正在登錄到每個服務器並運行一個自定義腳本來處理這個問題,在每個實例上。 – Juice 2014-11-03 22:18:50

+0

@EngineerDollery也許你可以提出一些你最推薦的? :) – Juice 2014-11-03 22:20:23

回答

0

託管

我會建議使用/僱用的PaaS(平臺即服務),IaaS的或(基礎設施即服務)。這樣,別人就可以管理硬件和服務,你只需要擔心你的代碼。最重要的是,該平臺將根據您的需求擴展您的應用程序。(但糟糕的代碼 - >糟糕的表現會花費你很多錢雖然)

看看AWS例如:http://aws.amazon.com/

更新

此外,我會建議使用版本控制來更新你的網站。

我個人更喜歡GIT(因爲分支機構和本地存儲庫)。您可以爲每個執行自定義佈局代碼的客戶端創建一個分支。當您在主分支上發佈信息時,您可以輕鬆地將其合併到所有其他分支機構中,並且只需拉動您的客戶網站即可。

雖然我會建議保持您的自定義代碼從您的基本代碼分離! (這應該很容易分開)。

所以,只需製作一個腳本,它就可以實現Git Pull,並且您將自動更新程序! (讓它可以從你的站點的管理員後端運行,並且你的所有設置!)

希望這有助於!

建議的話:總是在不同的分支上工作,然後在生產分支上工作,並且當你有穩定的版本時將Merge發佈到生產分支。

相關問題