Nacos实现配置中心

这篇具有很好参考价值的文章主要介绍了Nacos实现配置中心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


配置中心提供的基础功能

  • 统一管理不同环境、不同集群的配置
  • 配置修改实时生效(热发布)
  • 版本管理,每次配置的修改都会有版本记录,可随时回滚
  • 权限管理。配置中心可交给专人来管理,做到配置的权限管理

Nacos实现配置中心

使用配置中心之前,一般这样实现配置,把配置都放到配置文件中,Java代码通过@Value去拿配置或者通过@PropertySource来进行配置:

1、在配置文件增加配置(application.yml)

shortLink:
  url: https://openapidev.xinchengyue.com
  appId: 2020092275789623479853728
  privateKeyIsv: MIIEvgIBADANBgqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCe7DUtSpPMpejhC6vg5HR6Xl15A3QwOueu

2、使用@Value来引用配置

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Test {

    @Value("${shortLink.url}")
    private String url;

    @Value("${shortLink.appId}")
    private String appId;

    @Value("${shortLink.privateKeyIsv}")
    private String privateKeyIsv;

    @RequestMapping("/test")
    public String test(){
        return "url:" + url + "</br>appId:" + appId + "</br>privateKeyIsv:" + privateKeyIsv;
    }
}

启动服务,访问 http://localhost:8080/test 返回信息

url:https://openapidev.xinchengyue.com
appId:2020092275789623479853728
privateKeyIsv:MIIEvgIBADANBgqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCe7DUtSpPMpejhC6vg5HR6Xl15A3QwOueu

使用配置中心,怎样的配置方式呢

一、安装nacos

参考:安装步骤
启动后如图所示:
nacos做配置中心,SpringCloud微服务分布式架构,java,spring cloud,微服务
访问:http://localhost:8848/nacos/index.html

用户名: nacos 密码:nacos
nacos做配置中心,SpringCloud微服务分布式架构,java,spring cloud,微服务

二、启动服务发现

接下来,讲一下如何在您的 Spring Cloud 项目中启用 Nacos 的服务发现功能。配置服务,从而服务可以通过 Nacos 的服务注册发现功能将其服务注册到 Nacos server 上。

1、引入依赖
		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
			<version>2.1.1.RELEASE</version>
		</dependency>

注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。

2、配置文件

application.yml中配置 Nacos server 的地址和应用名。

spring:
  application:
    name: nacos-test
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
3、开启服务注册发现功能

通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能。

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@EnableDiscoveryClient
public class XlfTestApplication {
	public static void main(String[] args) {
		SpringApplication.run(XlfTestApplication.class, args);
	}
}
4、启动服务

启动服务,然后到Nacos server查看是否注册成功。
nacos做配置中心,SpringCloud微服务分布式架构,java,spring cloud,微服务

三、启动配置管理

1、引入依赖
		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
			<version>2.1.1.RELEASE</version>
		</dependency>

注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。

2、获取Nacos server的配置信息

在Nacos server上增加配置信息(配置管理->配置列表->新增配置)
  nacos做配置中心,SpringCloud微服务分布式架构,java,spring cloud,微服务
nacos做配置中心,SpringCloud微服务分布式架构,java,spring cloud,微服务

3、新建配置bootstrap.yml文件
spring:
  application:
    name: nacos-test
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        group: DEFAULT_GROUP
        file-extension: yml
        refresh-enabled: true
        prefix: nacos-test

为什么要新建bootstrap.yml配置文件,而不是直接在原来的application.yml中新增配置呢?是因为要实现nacos配置中心里面的配置要优先于系统配置文件中的配置,假如两个地方同时配置了,会优先取nacos的配置

配置说明:

  • spring.application.name 配置应用的名称,用于获取配置
  • spring.cloud.nacos.config.server-addr 配置nacos服务的地址
  • spring.cloud.nacos.config.group 配置分组
  • spring.cloud.nacos.config.file-extension 配置文件后缀,用于拼接配置配置文件名称
  • spring.cloud.nacos.config.refresh-enabled 配置自动刷新
  • spring.cloud.nacos.config.prefix 配置文件的前缀

启动项目,访问 http://localhost:8080/test

返回信息

url:nacos------https://openapidev.xinchengyue.com
appId:nacos------2020092275789623479853728
privateKeyIsv:nacos------MIIEvgIBADANBgqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCe7DUtSpPMpejhC6vg5HR6Xl15A3QwOueu

说明已经读到nacos中的配置了,而且本地配置文件和nacos中同时配置的,取的是nacos中的配置

四、配置自动刷新

在配置的类增加@RefreshScope就可以实现自动刷新配置,当nacos中的配置修改后,项目无需重启就可以自动生效,这个在实际生产环境中是很有用的,有时候你需要修改线上的配置,如果没有配置中心,你需要重启服务文章来源地址https://www.toymoban.com/news/detail-595717.html

1:引入依赖
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
2:配置类加入@RefreshScope注解
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RefreshScope//自动刷新配置
public class Test {

    @Value("${shortLink.url}")
    private String url;

    @Value("${shortLink.appId}")
    private String appId;

    @Value("${shortLink.privateKeyIsv}")
    private String privateKeyIsv;

    @RequestMapping("/test")
    public String test(){
        return "url:" + url + "</br>appId:" + appId + "</br>privateKeyIsv:" + privateKeyIsv;
    }
}

到了这里,关于Nacos实现配置中心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloud-搭建Nacos配置中心

    Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一个分布式服务注册、配置管理,以及服务健康管理平台。在微服务架构中,配置管理是至关重要的一环,Nacos 提供了可靠、动态的配置管理功能,为分布式系统的配置中心提供了便捷的解决方案。 Nacos的主要功能图:

    2024年02月20日
    浏览(40)
  • springcloud整合nacos配置中心

    前言 在当今快速发展的云原生应用开发环境中,配置中心的重要性不言而喻。 Nacos作为一个开源的动态服务发现、配置管理和服务管理平台,为开发者提供了一种简单而强大的方式来管理应用程序的配置信息。 而Spring Boot作为一个快速构建应用程序的框架,与Nacos的结合可以

    2024年02月08日
    浏览(40)
  • SpringCloud之Nacos配置中心解读

    目录 基本介绍  概述 动态配置服务 多配置格式编辑器  微服务拉取配置流程 Data ID @RefreshScope 配置共享的优先级 实战使用 简单的共享配置 开发环境的共享配置 环境隔离-命名空间Namespace 业务隔离-Group分组 概述 Nacos除了可以做注册中心,同样可以做配置管理来使用。 所谓

    2024年02月03日
    浏览(46)
  • 【微服务】SpringCloud-Nacos注册中心

    🍁 博客主页: 👉@不会压弯的小飞侠 ✨ 欢迎关注: 👉 点赞 👍 收藏 ⭐ 留言 ✒ ✨ 系列专栏: 👉SpringCloud专栏 ✨ 知足上进,不负野心。 🔥 欢迎大佬指正,一起学习!一起加油! Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现

    2024年02月02日
    浏览(35)
  • 注册中心/配置管理 —— SpringCloud Alibaba Nacos

    Nacos 是一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生的应用程序 Nacos 的关键特性包括以下几项: 服务发现和服务健康监测:服务提供者使用原生 SDK、OpenAPI 等注册服务后,服务消费者可以使用 HTTPAPI 查找和发现服务。Nacos 提供对服务的实时健康检查

    2024年02月14日
    浏览(42)
  • SpringCloud 配置中心【Nacos_Config】

    目录 1. SpringCloud Config 2. Nacos_Config 3. 使用 Nacos Config 添加/配置 外部配置文件 3.1 添加/配置命名空间 3.2 添加/配置 外部配置文件 3.3 外部文件克隆到其他空间 4. 新建子模块【config_client】 4.1 父模块pom文件依赖结构          4.2 子模块pom文件结构 4.3 配置子模块 bootstrap.yml文件

    2024年02月01日
    浏览(45)
  • springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析

    Spring Cloud 是一系列框架的有序集合如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等。 SpringCloud 将多个服务框架组合起来,通过Spring Boot进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者提供了一套简单易懂、易部署和易维护的分布式系统开

    2024年02月08日
    浏览(48)
  • 九、Nacos源码系列:Nacos配置中心原理(一)- SpringCloud应用启动时拉取配置

    熟悉Spring的小伙伴都知道,Spring 提供了强大的扩展机制。其中包括 ** ApplicationContextInitializer **,该扩展是在上下文准备阶段(prepareContext), 容器刷新之前做一些初始化工作 ,比如我们常用的配置中心 client 基本都是继承该初始化器,在容器刷新前将配置从远程拉到本地,然

    2024年02月19日
    浏览(43)
  • SpringCloud使用nacos做配置中心,不生效,没有作用

            一直使用nacos做注册中心,配置还是使用的配置文件。将配置文件整理到nacos以后,却发现一直不生效,看网上大部分说是版本依赖不兼容的问题,修改版本依赖关系、尝试降版本后发现都未生效。         新建bootstrap.yaml配置文件,将 Nacos本身的相关配置必须都

    2024年02月06日
    浏览(53)
  • 【SpringCloud入门】-- Nacos快速入门之搭建服务与注册中心

    目录 前言:  1.Nacos的下载与安装 2. 去MySQL建立一个名为nacos的数据库 3.介绍配置文件,conf目录下的 application.properties 4.nacos启动 5. nacos作为注册中心的作用 6.建立一个项目,实现向命名空间注册 前言: 上文我们已经简单介绍了一下Nacos,现在我们一起来动手搭建一个Nacos的注

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包