我正在考慮將我的Grails應用程序分爲兩個單獨的應用程序:管理員和麪向客戶。管理員應用程序也會做很多後端繁重工作。訪問相同數據庫的多個Grails應用程序
有沒有人這樣做?得到教訓?我特別想知道處理域對象的最佳方式以及併發性的潛在問題。
我正在考慮將我的Grails應用程序分爲兩個單獨的應用程序:管理員和麪向客戶。管理員應用程序也會做很多後端繁重工作。訪問相同數據庫的多個Grails應用程序
有沒有人這樣做?得到教訓?我特別想知道處理域對象的最佳方式以及併發性的潛在問題。
您可能會遇到種族/鎖定條件,但我已經在很多場合看到過這種情況。我唯一的建議是你不維護單獨的域類。將常用的域類放入插件中,並在兩個應用程序中安裝該插件。
如果你真的想這樣做,最好的方法是分離現有的域類,而不是從所有的應用程序啓用多個直接訪問。保持應用程序永久保留的每個Domain類大部分都關閉。對於其他應用程序,他們應該通過數據託管應用程序提供的RESTful服務訪問數據。
您可能想要保持域類完全相同,因此會生成相同的數據庫表。
我不認爲併發會成爲一個問題,因爲現代dbms通常處理得很好。
數據庫級併發不是問題,它是您必須留意的第二級高速緩存。所有應用程序需要共享相同的緩存以保持一致。 –
感謝Ian,很高興知道 –
緩存,我不明白這與羣集的Grails環境有什麼不同。 – RyanLynch