nacos注册中心和配置中心

一、nacos概述

nacos是阿里巴巴开源的一个注册和配置中心,使用nacos官网的话说就是“一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。”

二、nacos的安装和启动

1.nacos下载地址:GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

2.nacos解压与安装

cd /usr/upload
tar -zxvf nacos-server-1.4.1.tar.gz -C /usr/local

3.nacos的启动与关闭

启动:
    cd /usr/local/nacos/bin
    ./startup.sh -m standalone
关闭:
    cd /usr/local/nacos/bin
    ./shutdown.sh

访问nacos服务器地址:8848/nacos,输入账户和密码都是nacos

二、nacos服务中心

nacos的服务中心主要存放的是服务的ip和端口等信息

1.在pom中添加依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.bjpowernode</groupId>
        <artifactId>springcloud_common</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>

2.创建服务提供者nacos-privoder

1).在springboot启动类中加入@EnableDiscoveryClient注解,其作用是注册自己并切发现其他的服务

@SpringBootApplication
@EnableDiscoveryClient // 注册自己并发现其他的服务
public class NacosProviderApp {
    public static void main(String[] args) {
        SpringApplication.run(NacosProviderApp.class, args);
    }
}

2).在application.yum中做以下配置

server:
  port: 8090
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.137.114:8848 # 注册中心的地址
  application:
    name: nacos-provider # 注册到nacos的服务名

3.创建服务消费者nacos-consumer

1).在springboot启动类中加入@EnableDiscoveryClient注解,其作用是注册自己并切发现其他的服务

2).在application.yum中做以下配置

server:
  port: 80
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.137.114:8848 # nacos的注册中心地址
  application:
    name: nacos-consumer # 注册到nacos的服务名字

4.在provider中注入DiscoveryClient拼接地址

ServiceInstance service = discoveryClient.getInstances("nacos-provider").get(0);
String url = "http://" + service.getHost() + ":" + service.getPort() + "/provider/getUserById/" + id;
return restTemplate.getForObject(url, User.class);

去浏览器访问拼接的地址

三、nacos配置中心

nacos的配置中心存放的是服务的配置信息,统一管理项目中的各种配置信息,当各个服务需要获取配置时,就可以来配置中心拉取自己的配置,热部署,当更新完配置后,不需要重启服务即可更新。

1.创建服务配置nacos-config并在pom中添加如下依赖

<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-config</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>

2.bootstrap.yml

注意:客户端配置文件的名称必须为bootstrap.yml

bootstrap.yml比application.yml优先加载,应用于系统级别的参数配置,一般不会变动

application.yml应用于Springboot项目的自动化配置。

1.bootstrap.yml

spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.137.114:8848 #注册中心的地址#配置文件的前缀
        prefix: nacos-config #配置文件的前缀,默认是spring.application.name
        file-extension: yaml #配置文件的后缀,默认是properties
#Data ID的语法:${spring.cloud.nacos.config.prefix}.${spring.cloud.nacos.config.file-extension}

2.nacos的配置列表里面的配置为

Data ID为nacos-config,使用默认分组就可以

server:
  port: 8081
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.137.114:8848 # 注册中心的地址
  application:
    name: nacos-config # 注册到nacos的服务名

3.configcontroller的配置如下

@RestController
@RefreshScope //重新从BeanFactory获取一个新的实例(该实例使用新的配置)
public class ConfigController {

    @Value("${spring.datasource.driver-class-name}")
    private String driverClassName;
    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;
    @Value("${spring.datasource.type}")
    private String type;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        System.out.println(this);
        String configInfo = driverClassName+"<br>"+url+"<br>"+username+"<br>"
                +password+"<br>"+type;
        return configInfo;
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Nacos是一个开源的注册中心和配置管理平台,可以帮助开发者更方便地管理微服务架构中的服务注册、发现和配置管理等功能。下面介绍一下Nacos注册中心及其配置管理的相关内容: 1. 注册中心 Nacos注册中心功能可以帮助开发者更方便地实现服务的注册和发现,从而实现服务间的通信。注册中心的主要功能包括服务注册、服务发现和服务心跳检测。 服务注册:在Nacos注册中心上注册服务,可以将服务的名称、IP地址和端口号等信息注册到注册中心上,其他服务可以通过查询注册中心获取该服务的信息。 服务发现:服务发现是指服务在运行时通过查询Nacos注册中心获取其他服务的地址和端口号等信息,从而实现服务之间的通信。 服务心跳检测:Nacos注册中心可以定期检测服务是否在线,如果发现服务不可用,则会将该服务从注册中心中删除。 2. 配置管理 除了注册中心功能外,Nacos还可以用作配置管理平台,可以帮助开发者更方便地管理配置文件。配置管理的主要功能包括配置发布、配置查询和配置监听。 配置发布:在Nacos配置管理平台上发布配置文件,可以将配置文件的内容保存到Nacos服务器上,其他服务可以通过查询Nacos获取该配置文件的内容。 配置查询:服务可以通过查询Nacos获取配置文件的内容,并且可以动态更新配置文件的内容,从而实现配置文件的动态管理。 配置监听:Nacos可以监听配置文件的变化,并且可以及时通知服务进行相应的处理,从而实现配置文件的实时管理。 总之,Nacos注册中心和配置管理功能可以帮助开发者更方便地实现微服务架构中的服务注册、发现和配置管理等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值