天天看點

谷粒學院使用nacos注冊gateway網關時候報錯503

跟着視訊實作的過程中,突然出了問題:使用nacos注冊gateway網關時候報錯,apigateway服務無法啟動報錯:

Parameter 0 of method loadBalancerWebClientBuilderBeanPostProcessor in org.springframework.cloud.client.loadbalancer.reactive.LoadBalancerBeanPostProcessorAutoConfiguration required a bean of type 'org.spr

百度以後,在gateway的pom檔案添加loadbalancer依賴即可

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
           

成功啟動:接着測試接口:通過gateway通路edu的接口

http://localhost:8222/eduservice/teacher/findAll

報錯type=Service Unavailable, status=503:

谷粒學院使用nacos注冊gateway網關時候報錯503

gateway控制台報錯:

No servers available for service: service-edu

谷粒學院使用nacos注冊gateway網關時候報錯503

應該是調不到service-edu的服務,百度了一下,都說原因是:

由于springcloud2020棄用了Ribbon,是以Alibaba在2021版本nacos中删除了Ribbon的jar包,是以無法通過lb路由到指定微服務,出現了503情況。

是以隻需要引入springcloud loadbalancer包即可

問題是我一開始就引入了,明顯沒解決這個問題;在百度很久以後,我找到第一種解決方法:

一、

修改配置檔案中的uri,使用http://加調用服務的端口代替原來的lb,這種方法可以解決

谷粒學院使用nacos注冊gateway網關時候報錯503

二、

這就涉及到springcloudAlibaba和springcloud、springboot、nacos的版本問題,我的springboot版本是2.6.2,springcloud版本2021.0.1,首先把nacos從1.1.4更新到1.4.3,先修改guli_parent的pom檔案:

谷粒學院使用nacos注冊gateway網關時候報錯503

我就沒明白這個

0.2.2.RELEASE

是個什麼版本,現在查的springcloudAlibaba應該是用年份命名的了,後來看看,應該是 groupId 不一樣的問題,0.2.2的包存放的位址是:org.springframework.cloud

這裡我修改pom檔案,注釋掉上面的0.2.2與下面的引用,新增引用:2021.1版本的包存放在com.alibaba.cloud這裡

谷粒學院使用nacos注冊gateway網關時候報錯503

修改api_gateway的pon檔案:

<dependencies>
        <dependency>
            <groupId>com.atguigu</groupId>
            <artifactId>common_utils</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>3.0.2</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2021.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
    </dependencies>
           

重新啟動服務,測試接口成功調用:

谷粒學院使用nacos注冊gateway網關時候報錯503

繼續閱讀