您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“SpringCloud協同開發如何實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“SpringCloud協同開發如何實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
像下面這張圖,倒數第二個服務啟動了兩個實例,他們兩個組成了一個集群。前端在調用接口的時候可能想調用A的該服務,但是可能會被路由到B的該服務上去了,這種情況是我們不希望看到的。
我們想要看到的效果是,A、B兩個開發者將自己的功能開發完以后提交到服務器部署。前端可以調用到這些開發好、經過后端自測的服務接口,后端在提交自己的代碼之前,不應該注冊到集群中。
為了解決上述問題,可以在bootstrap.yml文件中加入下面配置。開啟如下配置以后,啟動服務將不再注冊到nacos中,前端調用也不會再調用到該服務。
server:
port: 3001
# 加入下面配置,取消該服務的注冊
spring:
cloud:
nacos:
discovery:
register-enabled: false
后端如果想要調用自己開發的接口,可以直接通過http://localhost:3001/接口地址調用并測試,等測試接口沒問題以后可以提交自己的代碼并部署,部署完成以后前端可以調用接口進行開發。
在微服務中可以通過OpenFeign,使用微服務名稱進行微服務間的調用,但是同樣的,如果本地開發,我們可能想讓某個請求轉發到某個特定的服務上,而不是通過微服務名稱進行負載均衡轉發,為了將請求轉發給特定的服務,可以在@FeignClient注解中指定要請求的URL,如下,是將RemoteUserService類的請求轉發給http://172.20.2.3:11201服務了。注意這樣寫是為了本地開發方便調試,如果要提交代碼需要將這些代碼去掉。
@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, url = "http://172.20.2.3:11201", fallbackFactory = RemoteUserFallbackFactory.class) public interface RemoteUserService { /** * 通過用戶名查詢用戶信息 * * @param username 用戶名 * @param source 請求來源 * @return 結果 */ @GetMapping("/user/info/{username}") public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); }
正常的前后端聯調應該是后端寫好代碼,將代碼合并到開發分支上面,部署開發分支,前端連接開發分支進行調試。
讀到這里,這篇“SpringCloud協同開發如何實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。