美文网首页
Spring Cloud Alibaba-Nacos-服务消费者

Spring Cloud Alibaba-Nacos-服务消费者

作者: 唯老 | 来源:发表于2019-11-07 21:25 被阅读0次

前期概要

消费者跟提供者配置方式基本差不太多, 使用的时候提provider提供数据,而consumer调用provider,调用的方式有很多中,常用的有三种方式:

  • RestTemplate
  • Feign(重点)
  • WebClient

一、创建消费者

然在Nacos工程下创建一个子工程命名其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

四、开启注册发现与注册

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

五、服务调用

注册RestTemplate

@Configuration
public class RestTemplateConfiguration {
    @Bean
    //RestTemplate在请求时拥有客户端负载均衡的能力
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

Service调用远程服务

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

六、调试测试

登录Nacos控制台,在服务列表选项卡中看到我们的两个应用,并可以对其进行简单的监控和管理。

image
浏览器中访问服务消费者的接口http://127.0.0.1:9528/可以看到成功返回结果
image

相关文章

网友评论

      本文标题:Spring Cloud Alibaba-Nacos-服务消费者

      本文链接:https://www.haomeiwen.com/subject/vnlbbctx.html