2014-01-20 95 views
1

我很快就開始了一個新項目的工作,並想知道是否要創建多個應用程序(幾乎每個副本)或一個應用程序(或使用某種類型的單一登錄)。每個「應用」都有自己的域名。一個應用程序或多個應用程序或單一登錄?

這些應用程序非常簡單,人們可以註冊該網站併爲他們的貓或狗創建個人資料。但是,由於有些人有貓和狗,所以不要讓他們註冊兩次。另外,我想很多用戶也想擴展到其他寵物,比如兔子,老鼠,雪貂等。

這將是一個Rails應用程序,所以我想知道我的選擇是什麼。

  • 一個單一的應用程序將是最簡單維持
  • 多個應用程序可能意味着更容易「分裂」的網絡,即出售它的一些(儘管我懷疑我會做到這一點)

但是哪個效率最高?緩存會有什麼問題嗎?哪個最有意義?

如果您有任何鏈接或有關如何去您的首選方法的信息,那也將不勝感激!但在這個階段,我主要問的是哪個是最合乎邏輯的方法。

+0

如果應用程序是相似的,我猜數據模型也是如此,因此我會推薦一個應用程序與一個登錄。你可以很容易地使用多態和HABTM關係。 – rlecaro2

回答

1

總是比較少,尤其是在項目早期。

我已經學會了永不拆分代碼庫,直到它絕對明顯地表明它必須完成。

製作2個應用程序意味着在很多方面做了兩倍的工作。兩個bundle exec rails server運行,兩個bundle exec rspec運行,cd ..,cd web_app1,cd web_app2一遍又一遍。

您還必須部署兩個應用程序。

因此,製作一個應用程序。稍後將其拆分,如果需要的話。

如果它們在同一個子域中,則可以共享cookie並輕鬆實現SSO。

並沒有理由不能使用類似nginx的東西來將它們放在完全獨立的域之後,作爲部署考慮。

0

如果你打算在每個域上有一個單獨的應用程序的多個域,你可以有一個「中央」域(或服務器),可以容納所有共享資源(圖像,CSS,JavaScript,數據等),並提供負載平衡和提高性能的能力。連接一切並保持全部運行可能需要很多工作,所以這取決於你的情況。

相關問題