Nacos:搭建高效注册中心与配置中心的解决方案

目录

一、Nacos的安装和部署

1. 下载Nacos

2. 解压安装包到本地

3. 配置数据库(可选)

4. 启动Nacos服务

5. 登陆控制台

二、springboot整合Nacos

1. 添加依赖

2. 配置注册中心、配置中心

3. 演示


Nacos是一个平台产品,主要提供注册中心和配置中心。

一、Nacos的安装和部署

Nacos的安装和部署可以分为以下几个步骤:

1. 下载Nacos

官网下载地址:

https://github.com/alibaba/nacos

2. 解压安装包到本地

3. 配置数据库(可选)

3.1 application.properties添加mysql配置,实现数据持久化

3.2 mysql执行mysql-schema.sql脚本

4. 启动Nacos服务

单机部署直接切换到bin目录,cmd执行下面命令

    sh startup.sh -m standalone 

5. 登陆控制台

默认用户名/密码为nacos/nacos。

http://localhost:8848/nacos/#/login

以上是Nacos的基本安装和部署步骤,具体的配置细节可以根据实际需求进行修改。

二、springboot整合Nacos

1. 添加依赖

SpringCloud Alibaba Nacos Discovery: 这个依赖主要用于服务发现,允许你的 Spring Boot 应用连接到 Alibaba 的 Nacos 服务平台,进行服务的注册、发现和更新元数据等操作。

SpringCloud Alibaba Nacos Config: 这个依赖用于从 Alibaba 的 Nacos 服务平台中读取配置信息。你可以在 Nacos 中管理你的应用的配置,而不需要每次更改配置时重新构建和部署你的应用。

以下是子POM中的依赖声明,父POM使用标签。

<!-- SpringCloud Alibaba Nacos -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2. 配置注册中心、配置中心

配置文件在这里使用的是bootstrap.yml,其优先级大于application.yml。

配置discovery注册中心地址,配置config配置中心地址。

# Tomcat
server: 
  port: 9200

# Spring
spring: 
  application:
    # 应用名称
    name: bibo
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: localhost:8848
        username: diggl
        password: diggl
      config:
        # 配置中心地址
        server-addr: localhost:8848
        file-extension: yaml
        group: DEFAULT_GROUP
        username: diggl
        password: diggl

3. 演示

启动项目后,在Nacos控制台就能看到bibo-server服务了,说明bibo-server服务已经注册到Nacos注册中心。

新建配置并发布

Data ID 命名格式:服务名-环境.文件类型

Group 要和配置一致

一般情况下,在Nacos中修改配置不需要重启项目,Nacos是一个动态配置中心,支持实时修改配置。但是,有一些配置参数需要重启应用程序才能生效,例如,修改应用程序端口号、修改JVM参数(如内存大小等)、修改日志级别、修改数据库连接参数等可能需要重启应用程序才能使更改生效。这是因为这些配置在项目启动时就已经注入到容器中,需要重启来使新的配置生效。

重启后,项目端口随即由原来的9200改为9208

使用@RefreshScope能实现动态刷新

例如获取application-dev.yml中的配置

/**
 * XSS跨站脚本配置
 */
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "security.xss")
public class XssProperties {
    /**
     * Xss开关
     */
    private Boolean enabled;
    ...
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值