2017-07-27 87 views
3

我想避免在微服務應用程序中重複我的POJO,所以我想知道是否有辦法做到這一點(如代理)?是否可以在微服務應用程序中代理POJO?

我的意思是,有沒有辦法爲Service A訪問Service B內部定義的POJO(或其他類/接口),無Service A物理創建這些POJO的CLASSE文件?

微服務架構中的一大挑戰就是這一點,我沒有找到解決的辦法。

+1

我也很感謝快速回答:-) – akuma8

+0

我今天在165代表...所以今天只有35失蹤,以達到每日漲停。我總是在這種情況下加快速度;-) – GhostCat

回答

6

「簡單」:當有兩個服務應該使用什麼共同 - 那麼答案是移動這個代碼轉換成某種形式的和既有依賴它的服務。

其他的很可能是一個不好的想法。微服務的整體思路是該服務的不以任何形式是否取決於B.你做想進入反射遊戲,並通過某種後門的莫名其妙訪問另一個業務的內部。

正如一些評論表明:使用庫有助於避免代碼複製。替代方案是故意將服務B中的「公共」部分複製到服務A中。這也是一種選擇。

從這個意義上說:您要麼將公共部分重新歸入庫中,要麼將其複製。兩種方法都有其優點和缺點。你必須確定你的環境中最重要的。

+0

這意味着如果圖書館發生變化,我必須重新部署我的服務...... – akuma8

+1

不一定。版本控制服務是一個不同的主題。您只需在*該*服務想要利用庫中的新功能時重新部署即可! – GhostCat

+0

我同意@GhostCat。你可以有一個處理這個問題的策略: 如果你有一個新的領域,那麼服務A不需要知道新的領域。然而,如果你想刪除一個字段,你最好棄用它。 –

相關問題