• 服务注册与发现Nacos


    创建父工程,添加依赖:

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.3.RELEASE</version>
        </parent>
    
        <properties>
            <java.version>1.8</java.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
            <spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
        </properties>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <dependency>
                    <groupId>com.alibaba.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>${spring-cloud-alibaba.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

    服务提供者:

      1.pom.xml的配置

        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-openfeign</artifactId>
            </dependency>
        </dependencies>

      2.application.yml配置

    server:
      port: 56010
    spring:
      application:
        name: provider
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848 #如果是集群且不采用域名方式配置,需要配置多个集群ip,否则无法注册成功

      3.启动类

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

      4.服务实现

    @RestController
    public class ProviderController {
    
        @GetMapping("/service")
        public String service() {
            return "provider invoke";
        }
    }

    服务消费者:

      1.pom.xml的配置

        和服务提供者一样

      2.application.yml配置

    server:
      port: 56020
    spring:
      application:
        name: consumer
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848

      3.启动类

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

      4.远程代理定义

    @FeignClient(value = "provider")
    public interface ProviderClient {
    
        @GetMapping("/service")
        String service();
    }

      5.服务实现

    @RestController
    public class ConsumerController {
    
        @Autowired
        private ProviderClient providerClient;
    
        @GetMapping("/service")
        public String service() {
            String providerResult = providerClient.service();
            return "consumer invoke" + "|" + providerResult;
        }
    }

    访问地址:http://127.0.0.1:56020/service 成功调用,在nacos控制台也可以看到注册的服务

      

     应用通过Namespace、Server、Cluster(DEFAULT)的配置,描述了该服务向哪个环境(如开发环境)的哪个集群注册实例。

      

      集群作为实例的隔离,相同集群的实例才能相互感知。

      namespace、cluster-name若不填写都将采取默认值,namespace的默认是public命名空间,cluster-name的默认值为DEFAULT集群。

  • 相关阅读:
    【SICP练习】129 练习3.60
    【SICP练习】128 练习3.59
    【SICP练习】127 练习3.58
    【SICP练习】126 练习3.57
    【SICP练习】125 练习3.56
    【SICP练习】124 练习3.55
    【SICP练习】123 练习3.54
    【SICP练习】122 练习3.53
    【SICP练习】121 练习3.52
    【SICP练习】120 练习3.51
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12939440.html
Copyright © 2020-2023  润新知