第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Cloud Contract - 是消費者驅(qū)動的嗎?

Spring Cloud Contract - 是消費者驅(qū)動的嗎?

拉丁的傳說 2023-05-10 15:05:46
我剛開始為我們的微服務(wù)設(shè)置使用消費者驅(qū)動的合同,因為它們主要是 Spring Boot 應(yīng)用程序,自然選擇 Spring Cloud Contract。但隨之而來的是混亂。在文檔中的所有示例中,合同都是在生產(chǎn)者端定義的,消費者從 maven repo 中檢索它們。如果生產(chǎn)者定義它們,它如何被消費者驅(qū)動?我的理解是,從概念上講,消費者將它們定義為生產(chǎn)者對其使用的部分 API 的期望。除了前面的問題,Spring Cloud Contract 是否可以在消費者端定義合約并在生產(chǎn)者端進行驗證?
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經(jīng)驗 獲得超6個贊

感謝這個問題。是的,Spring Cloud Contract 可以是消費者驅(qū)動的,也可以是生產(chǎn)者驅(qū)動的。

合同定義可以放在生產(chǎn)者那里,也可以放在外部存儲庫中。消費者驅(qū)動的概念與存儲合約的事實無關(guān)。這與創(chuàng)建合同的人或?qū)嶋H推動合同變更的人有關(guān)。另一件事是每個消費者是否可以定義一套自己的需求。這意味著一個消費者可能有與另一個消費者不同的需求。

因此,在生產(chǎn)者驅(qū)動方法的 Spring Cloud Contract 中,生產(chǎn)者只是創(chuàng)建合同,并不真正關(guān)心不同的消費者是否以不同的方式使用他們的 API。API 的生產(chǎn)者為所有消費者創(chuàng)建了例如 1 個合同定義,而與該合同保持一致是消費者的問題。

使用 Spring Cloud Contract 的消費者驅(qū)動合同,是消費者提出更改建議并創(chuàng)建合同定義。消費者將 PR 發(fā)送到生產(chǎn)者團隊的倉庫或存儲所有合約定義的單獨倉庫。做這件事的不是生產(chǎn)者,而是消費者。與此同時,消費者可以在不征得生產(chǎn)者許可的情況下在本地創(chuàng)建存根,并對 API 進行原型設(shè)計。一旦消費者完成了它的工作并且當(dāng)然之前與生產(chǎn)者團隊討論了更改,那么可以發(fā)送帶有建議更改的拉取請求。要記住的重要一點是,每個消費者都有自己的文件夾和他們的要求。例如,如果有消費者example1,并且example2有生產(chǎn)者,producer1那么在producer1合約文件夾會有2個文件夾,一個example1和第二個example2。兩者都包含對特定消費者的期望。

然后生產(chǎn)者接管 PR 并在生產(chǎn)者端進行驗證。生成測試。一旦實現(xiàn)被編寫并且測試通過,就可以上傳存根。

最后,在消費者端,消費者可以切換到開始獲取上傳的存根,以始終獲得最新版本的存根。

查看完整回答
反對 回復(fù) 2023-05-10
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號