前期概要
消費者跟提供者配置方式基本差不太多, 使用的時候提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