美文网首页
nacos服务提供者

nacos服务提供者

作者: 杨健kimyeung | 来源:发表于2020-08-15 10:35 被阅读0次

    一、创建服务提供者

    IDEA中创建聚合工程Nacos作为父工程

    二、依赖管理

    父POM

    <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.8.RELEASE</version>
            <relativePath/>
        </parent>
        <groupId>com.zw</groupId>
        <artifactId>springcloud-alibaba-example</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <packaging>pom</packaging>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
            <spring-cloud.version>Greenwich.SR3</spring-cloud.version>
            <spring-cloud-alibaba-dependencies.version>2.1.0.RELEASE</spring-cloud-alibaba-dependencies.version>
            <lombok.version>1.18.10</lombok.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-dependencies.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>
    

    消费者依赖

    <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>
    
        <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>
    

    三、配置文件

    配置文件application.yml进行如下配置

    server:
      # 端口
      port: 8088
    spring:
      application:
      #  应用程序的名称
        name: nacos-server-provider
      cloud:
        nacos:
          discovery:
            # 注册中心地址
            server-addr: 127.0.0.1:8848
    

    四、开启服务注册发现功能

    在Application.java的入口程序类上添加注解@EnableDiscoveryClient 开启服务注册发现功能

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

    控制层

    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @Slf4j
    public class NacosProviderController {
        @Value("server.port")
        String port;
    
        @RequestMapping("/")
        public String test() {
            return port + ": 生产者";
        }
    

    五、其它配置信息

    配置项 Key 默认值 说明
    服务端地址 spring.cloud.nacos.discovery.server-addr Nacos Server 启动监听的ip地址和端口
    服务名 spring.cloud.nacos.discovery.service ${spring.application.name} 给当前的服务命名
    服务分组 spring.cloud.nacos.discovery.group DEFAULT_GROUP 设置服务所处的分组
    权重 spring.cloud.nacos.discovery.weight 1 取值范围 1 到 100,数值越大,权重越大
    网卡名 spring.cloud.nacos.discovery.network-interface 当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配置,则默认取第一块网卡的地址
    注册的IP地址 spring.cloud.nacos.discovery.ip 优先级最高
    注册的端口 spring.cloud.nacos.discovery.port -1 默认情况下不用配置,会自动探测
    命名空间 spring.cloud.nacos.discovery.namespace 常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
    AccessKey spring.cloud.nacos.discovery.access-key 当要上阿里云时,阿里云上面的一个云账号名
    SecretKey spring.cloud.nacos.discovery.secret-key 当要上阿里云时,阿里云上面的一个云账号密码
    Metadata spring.cloud.nacos.discovery.metadata 使用Map格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息
    日志文件名 spring.cloud.nacos.discovery.log-name
    集群 spring.cloud.nacos.discovery.cluster-name DEFAULT 配置成Nacos集群名称
    接入点 spring.cloud.nacos.discovery.enpoint UTF-8 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址
    是否集成Ribbon ribbon.nacos.enabled true 一般都设置成true即可
    是否开启Nacos Watch spring.cloud.nacos.discovery.watch.enabled true

    相关文章

      网友评论

          本文标题:nacos服务提供者

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