溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringCloud協(xié)同開(kāi)發(fā)如何實(shí)現(xiàn)

發(fā)布時(shí)間:2022-12-28 09:15:50 來(lái)源:億速云 閱讀:92 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“SpringCloud協(xié)同開(kāi)發(fā)如何實(shí)現(xiàn)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“SpringCloud協(xié)同開(kāi)發(fā)如何實(shí)現(xiàn)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

微服務(wù)注冊(cè)問(wèn)題

像下面這張圖,倒數(shù)第二個(gè)服務(wù)啟動(dòng)了兩個(gè)實(shí)例,他們兩個(gè)組成了一個(gè)集群。前端在調(diào)用接口的時(shí)候可能想調(diào)用A的該服務(wù),但是可能會(huì)被路由到B的該服務(wù)上去了,這種情況是我們不希望看到的。

我們想要看到的效果是,A、B兩個(gè)開(kāi)發(fā)者將自己的功能開(kāi)發(fā)完以后提交到服務(wù)器部署。前端可以調(diào)用到這些開(kāi)發(fā)好、經(jīng)過(guò)后端自測(cè)的服務(wù)接口,后端在提交自己的代碼之前,不應(yīng)該注冊(cè)到集群中。

SpringCloud協(xié)同開(kāi)發(fā)如何實(shí)現(xiàn)

為了解決上述問(wèn)題,可以在bootstrap.yml文件中加入下面配置。開(kāi)啟如下配置以后,啟動(dòng)服務(wù)將不再注冊(cè)到nacos中,前端調(diào)用也不會(huì)再調(diào)用到該服務(wù)。

server:
  port: 3001
# 加入下面配置,取消該服務(wù)的注冊(cè)
spring:
  cloud:
    nacos:
      discovery:
        register-enabled: false

后端如果想要調(diào)用自己開(kāi)發(fā)的接口,可以直接通過(guò)http://localhost:3001/接口地址調(diào)用并測(cè)試,等測(cè)試接口沒(méi)問(wèn)題以后可以提交自己的代碼并部署,部署完成以后前端可以調(diào)用接口進(jìn)行開(kāi)發(fā)。

微服務(wù)間調(diào)用問(wèn)題

在微服務(wù)中可以通過(guò)OpenFeign,使用微服務(wù)名稱進(jìn)行微服務(wù)間的調(diào)用,但是同樣的,如果本地開(kāi)發(fā),我們可能想讓某個(gè)請(qǐng)求轉(zhuǎn)發(fā)到某個(gè)特定的服務(wù)上,而不是通過(guò)微服務(wù)名稱進(jìn)行負(fù)載均衡轉(zhuǎn)發(fā),為了將請(qǐng)求轉(zhuǎn)發(fā)給特定的服務(wù),可以在@FeignClient注解中指定要請(qǐng)求的URL,如下,是將RemoteUserService類的請(qǐng)求轉(zhuǎn)發(fā)給http://172.20.2.3:11201服務(wù)了。注意這樣寫是為了本地開(kāi)發(fā)方便調(diào)試,如果要提交代碼需要將這些代碼去掉。

@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, url = "http://172.20.2.3:11201", fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteUserService
{
    /**
     * 通過(guò)用戶名查詢用戶信息
     *
     * @param username 用戶名
     * @param source 請(qǐng)求來(lái)源
     * @return 結(jié)果
     */
    @GetMapping("/user/info/{username}")
    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
}

前后端聯(lián)調(diào)問(wèn)題

正常的前后端聯(lián)調(diào)應(yīng)該是后端寫好代碼,將代碼合并到開(kāi)發(fā)分支上面,部署開(kāi)發(fā)分支,前端連接開(kāi)發(fā)分支進(jìn)行調(diào)試。

讀到這里,這篇“SpringCloud協(xié)同開(kāi)發(fā)如何實(shí)現(xiàn)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI