2016-11-03 77 views
-1

我有一個應用程序寫在Dropwizard和使用休眠連接到數據庫(MySQL)。由於正在發佈的新功能,我期待閱讀apis的高負載,並考慮從slave DB提供讀取。有什麼不同的方式可以配置主 - 從和折衷。主從在dropwizard和休眠

+0

爲什麼選擇這個問題? –

回答

0

我已經解決了這個辦法:

  1. 我在我的情況下,2個會話工廠:一個是默認進行對話的主人和其他一個一個名字說「slaveDb」到從數據庫,該數據庫的談話。

  2. 我已經創建了不同的dao爲同一個實體之一爲奴隸互動和一個爲主。在奴隸道,我綁定它與奴隸SessionFactory

  3. 現在工作單位註釋有一個屬性「價值」,如果你不使用它,我們沒有在許多情況下,然後註釋處理器將談論的頂部默認會話工廠。如果您在此定義一個名稱,則註釋處理器將使用具有該特定名稱的會話工廠。

P.S.在我的情況下,我有一個單獨的從站,因爲應用程序的負載並不是那麼高,我希望從站只是爲了生成報告的目的。在許多奴隸的情況下,這種解決方案不能很好地擴展。另外,正如我在我的config.yaml文件中給出slave機器的詳細信息,我不需要將底層連接設置爲只讀。

0

如果您使用的是@UnitOfWork Annotation,那麼不可以。 不,他們不直接允許你使用只讀來溝通數據庫。 是的,你可以創建兩個資源,每個資源使用不同的db(master slave)。 一個用於寫入和嚴格讀取(主)另一個用於只讀(從屬)的資源。

https://groups.google.com/forum/#!topic/dropwizard-user/nxURxVWDtEY

也爲紐帶建議MySQL驅動程序可以自動做到這一點,但對於那屆readOnly的應該是真的,UnitOfWorkApplicationListener亙古不正確設置,即使你在@UnitOfWork設置readOnly真。