微服务配置中心(Nacos Config)

简介: 微服务配置中心(Nacos Config)


微服务配置中心

配置文件的不足

1.配置存在公共的配置,缺少统一的管理

2.环境参数的配置在每个项目中都有,一旦泄露,不知道是谁泄露的

3.配置缺少git版本管理

4.配置文件的配置无法实现动态更新


配置中心的思想

1.首先把项目中各种配置全部放到一个集中的地方进行统一管理,并提供一套标准的接口

2.当各个微服务需要获取配置的时候,就来配置中心的接口拉取自己的配置

3.当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的消息,使之动态更新


Nacos Config入门

使用nacos作为配置中心,其实就是将nacos当做一个服务端,将各个微服务看成是客户端,我们将各个微服务的配置文件统一存放在nacos上,然后各个微服务从nacos上拉取配置即可。
第一步:搭建nacos环境

第二步:在商品微服务中引入nacos的依赖

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

第三步:在微服务添加nacos config的配置
注意:不能使用原来的application.yml作为配置文件,而是新建一个bootstrap.yml作为配置文件

第四步:在nacos中添加配置,然后把商品微服务application.yml配置复制到配置内容中


第五步:注释本地的application.yaml中的内容,启动程序进行测试

第六步:如果依旧可以成功访问程序,说明我们的配置中心功能已经实现


Nacos Config动态刷新配置

1.在nacos中的product-service-dev.yaml配置项中添加下面配置

appConfig:
  name: order2022

2.在商品微服务中新增NacosConfigController.java

@RestController
    @RefreshScope
    public class HelloController {
        @Value("${appConfig.name}")
        private String appConfigName;
        @RequestMapping("/hello")
        public String hello(){
            return "参数的内容:"+appConfigName;
        }
    }

端口是在项目一启动就绑定的,后期修改是没有意义的,不能重新再修改,使用的端口在启动的时候存放到内存里面,之后就没有再使用了,尽管内存里面存储的端口值会改变,只是用于变量在程序中做逻辑判断


NacosConfig的配置共享

同一个微服务的不同环境之间共享配置

第一步:新建一个名为order-service.yaml配置存放商品微服务的公共配置,把之前的公共配置都存放进去



不同微服务中共享配置

不同微服务之间实现配置共享的原理类似于文件引入,就是定义一个公共配置,然后在当前配置中引入

第一步:在nacos中定义一个配置,用于所有微服务共享


第二步:修改bootstrap.yaml

spring:
  application:
    name: order-service
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848 #nacos中心地址
        file-extension: yaml #配置文件格式
        shared-configs:
          - data-id: redis-config.yaml # 配置要引入的配置
            refresh: true #是否要支持对该文件的动态刷新
  profiles:
    active: test #环境标识

第三步:在NacosConfigController.java中新增一个方法

@RestController
    @RefreshScope
    public class HelloController {
        @Value("${appConfig.name}")
        private String appConfigName;
        @Value("${redis.port}")
        private String port;
        @RequestMapping("/hello")
        public String hello(){
            return "参数的内容:"+appConfigName+",redis端口:"+port;
        }
    }
目录
相关文章
|
4月前
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
1040 81
高效搭建Nacos:实现微服务的服务注册与配置中心
|
5月前
|
监控 网络协议 Nacos
Nacos:构建微服务架构的基石
Nacos:构建微服务架构的基石
226 2
|
5月前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评。然而,“客户端不发送心跳检测”是使用中常见的问题之一。本文详细探讨了该问题的原因及解决方法,包括检查客户端配置、网络连接、日志、版本兼容性、心跳检测策略、服务实例注册状态、重启应用及环境变量等步骤,旨在帮助开发者快速定位并解决问题,确保服务正常运行。
106 5
|
5月前
|
Dubbo Cloud Native 应用服务中间件
阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。
在云原生时代,微服务架构成为主流。阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。示例代码展示了如何在项目中实现两者的整合,通过 Nacos 动态调整服务状态和配置,适应多变的业务需求。
186 2
|
5月前
|
网络安全 Nacos 开发者
Nacos作为流行的微服务注册与配置中心,“节点提示暂时不可用”是常见的问题之一
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,“节点提示暂时不可用”是常见的问题之一。本文将探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务的正常运行。通过检查服务实例状态、网络连接、Nacos配置、调整健康检查策略等步骤,可以有效解决这一问题。
102 4
|
5月前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,实际使用中常遇到“客户端不发送心跳检测”的问题。本文深入探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务正常运行。通过检查客户端配置、网络连接、日志、版本兼容性、心跳策略、注册状态、重启应用和环境变量等步骤,系统地排查和解决这一问题。
120 3
|
5月前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
270 3
|
5月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
300 6
|
5月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
142 1
|
4月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
426 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型

热门文章

最新文章

下一篇
oss创建bucket