簡體   English   中英

使用 Spring 和 Kotlin 共享微服務架構中的數據類

[英]Shared data classes in microservice architecture with Spring and Kotlin

假設您有兩個相互通信的微服務,它們都以合約的形式共享數據類。 雖然您不想在每個微服務項目中復制所有合同,但共享它們的最佳方式是什么?

正如所見,只有兩種選擇:

  • 復制共享合約,同時也復制代碼
  • 編譯第一方庫並導入

我的團隊前段時間遇到了同樣的情況,我們決定采用第二點的變體。
我們使用了 Maven 多模塊項目,這樣一個微服務生成了庫,然后由第二個微服務導入。

Maven 多模塊項目解釋如下:
https://www.baeldung.com/maven-multi-module

執行project1 > project2依賴項不是一個好主意,因為它將來可能會發生變化,您最終將不得不重構整個事情。

我要做的是創建一個發布到內部 Nexus 或 artifactory 的共享庫,然后您可以將其作為依賴項添加到您的項目中,這樣您將擁有如下內容:

library > project1
library > project2

如果您只共享數據傳輸對象,則要考慮的另一個想法是使用協議緩沖區之類的東西。 這具有版本控制和向前兼容性的額外優勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM