Spring Cloud Alibaba-Nacos-服務(wù)消費者

前期概要

消費者跟提供者配置方式基本差不太多, 使用的時候提provider提供數(shù)據(jù),而consumer調(diào)用provider,調(diào)用的方式有很多中,常用的有三種方式:

  • RestTemplate
  • Feign(重點)
  • WebClient

一、創(chuàng)建消費者

然在Nacos工程下創(chuàng)建一個子工程命名其pom文件與nacos-provider相同

二、依賴管理

消費者依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.zw</groupId>
        <artifactId>springcloud-alibaba-example</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>nacos-server-consumer</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>nacos-server-consumer</name>
    <description>消費者</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>
</project>

三、配置文件

spring:
  cloud:
    nacos:
      discovery:
          cluster-name: nacos-server-consumer
        server-addr: 119.23.190.71:8848

四、開啟注冊發(fā)現(xiàn)與注冊

@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosConsumerApplication.class, args);
    }

五、服務(wù)調(diào)用

注冊RestTemplate

@Configuration
public class RestTemplateConfiguration {
    @Bean
    //RestTemplate在請求時擁有客戶端負載均衡的能力
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

Service調(diào)用遠程服務(wù)

@Service
public class NacosConsumerServiceImpl implements NacosConsumerService {
    @Resource
    private RestTemplate restTemplate;
    @Override
    public String getData() {
        return restTemplate.getForObject("http://nacos-server-provider/", String.class);
    }
}

六、調(diào)試測試

登錄Nacos控制臺,在服務(wù)列表選項卡中看到我們的兩個應(yīng)用,并可以對其進行簡單的監(jiān)控和管理。

image

瀏覽器中訪問服務(wù)消費者的接口http://127.0.0.1:9528/可以看到成功返回結(jié)果
image

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容