码迷,mamicode.com
首页 > 其他好文 > 详细

服务注册与发现Nacos

时间:2020-05-22 21:10:26      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:cli   name   alibaba   -name   enable   注册   方式   coding   定义   

创建父工程,添加依赖:

    <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、Service、Cluster(DEFAULT)的配置,描述了该服务向哪个环境(如开发环境)的哪个集群注册实例。

  技术图片

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

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

 

服务注册与发现Nacos

标签:cli   name   alibaba   -name   enable   注册   方式   coding   定义   

原文地址:https://www.cnblogs.com/roadlandscape/p/12939440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!