nacos+feign實現微服務調用


NACOS+Feign實現微服務調用

因最近接觸到新的項目,發現好多知識自己並沒有接觸過,因此自己創建一番,學習一下。

NACOS

我們常用且熟悉的配置中心基本是zookeeper等,nacos簡而言之也是一個配置中心,同時提供服務發現、服務管理的功能。

Feign

feign是聲明式的web service客戶端,它讓微服務之間的調用變得更簡單了,類似controller調用service,我們可以直接使用其服務。

springCloud+nacos+feign實現微服務調用

  1. 首先准備兩個服務,一個provide、一個consumer。
    相關依賴版本
    <spring-boot.version>2.2.8.RELEASE</spring-boot.version> <spring-cloud.version>2.2.2.RELEASE</spring-cloud.version> <spring-nacos.version>2.2.1.RELEASE</spring-nacos.version>

    • consumer配置
      spring: application: name: nacos-cloud-provide cloud: nacos: discovery: server-addr: 127.0.0.1:8848
      啟動類需添加@EnableDiscoveryClient@EnableFeignClients注解。
      定義feign接口:
      @FeignClient(value = "nacos-cloud-provide",url = "127.0.0.1:8081") public interface FeignNacosCloudProvide { /** * get * @return */ @GetMapping(value = "/service") public String get(); }
      實現類:
      `
      @Slf4j
      @RestController
      public class FeignNacosCloudProvideImpl implements FeignNacosCloudProvide {

    @Override
    public String get() {
    log.info("--------進入生產者方法體--------");
    return "hahahaha";
    }
    }
    `

    • provide配置

      server.port=8082 spring.application.name=nacos-cloud-consumer spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

      啟動類增加注解 @EnableDiscoveryClient@EnableFeignClients(basePackages = "com.example.nacoscloudprovide.client")

      basePackages指定調用的feign接口包名。

      service層直接調用:

      `
      @Service
      @Slf4j
      public class FeignNacosServiceImpl implements FeignNacosService {

      @Autowired
      private FeignNacosCloudProvide feignNacosCloudProvide;
      
      @Override
      public String getOne(String one) {
          log.info("------開始調用生產者服務------"+one);
          return feignNacosCloudProvide.get();
      }
      

      }
      `


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM