美文网首页
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