微服务——Nacos配置管理

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

目录

Nacos配置管理——实现配置管理

配置管理实践

 Nacos配置管理——微服务配置拉取

 Nacos配置管理——配置热更新

方式一:

​编辑 方式二(推荐方式):

 Nacos配置管理——多环境配置共享

 优先级问题

  Nacos配置管理——nacos集群搭建

 总结​编辑


Nacos配置管理——实现配置管理

在一个微服务架构的系统中往往会有多台服务器负责不同的微服务。假设配置文件需要做修改,且该配置文件跟数10个微服务关联,则需要逐个去调整配置。并且调整完后还需要重启,生产环境下重启带来影响不可估量。

配置热更新——实现统一修改配置并且立刻生效,需要一个配置管理服务,微服务启动时会去读取该配置管理服务和本地配置结合作为完整配置使用。

微服务——Nacos配置管理,微服务,微服务,运维,架构

配置管理实践

在nacos端点击配置管理->配置列表右边的+,用来新建配置

Data ID:配置文件名称,通常使用 服务名称-profile.yml ,dev就是生产环境

分组默认即可。

配置内容:用来写需要热更新的内容,不能全部配置都写在这里,通常配置开关逻辑业务类型,给

                true开启,给false关闭.还有诸如日期格式,如果需要变更也可以在这里变更。

微服务——Nacos配置管理,微服务,微服务,运维,架构

 微服务——Nacos配置管理,微服务,微服务,运维,架构

 Nacos配置管理——微服务配置拉取

通常的项目运行过程如下微服务——Nacos配置管理,微服务,微服务,运维,架构

一般来说nacos地址是存在application.yml中,但是现在要在读取本地配置前先读取nacos配置文件,所以要用到bootstrap.yml配置文件,优先级远高于application.yml.因此要把相关信息放到bootstrap.yml中去

微服务——Nacos配置管理,微服务,微服务,运维,架构 步骤实现

微服务——Nacos配置管理,微服务,微服务,运维,架构

 在userserver这个服务搞完之后就可以删除相同的配置信息了,如服务名称和nacos服务地址这些都在bootstrap.yml中有了

微服务——Nacos配置管理,微服务,微服务,运维,架构

 之后要读取到nacos配置并使用

在controller中定义一个测试url,用@Value注解获取配置文件内容,然后规定格式返回一个日期。

微服务——Nacos配置管理,微服务,微服务,运维,架构

 成功获取到预期格式日期。微服务——Nacos配置管理,微服务,微服务,运维,架构

 微服务——Nacos配置管理,微服务,微服务,运维,架构

 Nacos配置管理——配置热更新

方式一:

微服务——Nacos配置管理,微服务,微服务,运维,架构

 加上注解之后重启项目

微服务——Nacos配置管理,微服务,微服务,运维,架构

修改日期格式后再次访问有所变化成功实现热更新

 方式二(推荐方式):

这种是约定大于配置的注入方式,只要前缀带有pattern并且属性名和对应的上就可以实现自动注入

微服务——Nacos配置管理,微服务,微服务,运维,架构

 然后Controller中的代码修改为。

    @Autowired
    private PatternProperties properties;

    @GetMapping("now")
    public String now(){
        return  LocalDateTime.now().format(DateTimeFormatter.ofPattern(properties.getDateformat()));
    }

 总结:微服务——Nacos配置管理,微服务,微服务,运维,架构

 Nacos配置管理——多环境配置共享

使用情况:一个配置属性在开发生产测试环境下的值是相同。如果不同环境的下都写或者都要改就过于麻烦。微服务——Nacos配置管理,微服务,微服务,运维,架构

新建一个userserver.yaml

微服务——Nacos配置管理,微服务,微服务,运维,架构

现在userserver这个服务可以读到userserver-dev.yaml和userserver.yaml两个配置文件。 

新增加一个属性和一个url接口

   
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dateformat;
    private String envShareValue;
}


 @GetMapping("prop")
    public PatternProperties properties(){
        return properties;
    }

 启动8081端口的实例作为dev环境,启动8082端口的实例作为test环境。

现在8081的可以读到两个配置文件,8082端口的只能读到一个

微服务——Nacos配置管理,微服务,微服务,运维,架构

 微服务——Nacos配置管理,微服务,微服务,运维,架构

 优先级问题

微服务——Nacos配置管理,微服务,微服务,运维,架构

微服务——Nacos配置管理,微服务,微服务,运维,架构

  Nacos配置管理——nacos集群搭建

官方给出的Nacos集群图:

微服务——Nacos配置管理,微服务,微服务,运维,架构

 使用nginx作为负载均衡器之后的集群模式图

微服务——Nacos配置管理,微服务,微服务,运维,架构

 上个nacos要实现数据共享,这里整了多个mysql的集群,让多个nacos都访问这个mysql的集群完成读写。

这里要先按照资料里面给出的集群方式搭建好环境。

微服务——Nacos配置管理,微服务,微服务,运维,架构

 此处nginx的配置文件如下所示

	upstream nacos-cluster {
    server 127.0.0.1:8845;
	server 127.0.0.1:8846;
	server 127.0.0.1:8847;
    }

    server {
    listen       88;
    server_name  localhost;

    location /nacos {
        proxy_pass http://nacos-cluster;
    }
    }

配置文件的地址也要改 

微服务——Nacos配置管理,微服务,微服务,运维,架构

 重新启动两个实例

微服务——Nacos配置管理,微服务,微服务,运维,架构

 然后新建一个配置

微服务——Nacos配置管理,微服务,微服务,运维,架构

 在看到数据库里面就有了这个配置的信息出现了。

先在就做到了三个nacos负载均衡的访问,并且每个nacos都指向同一个数据库了。

微服务——Nacos配置管理,微服务,微服务,运维,架构

 总结

 跑这个玩意启动一定要一个一个来,并且启动时不要运行idea项目,不然内存直接上天了。文章来源地址https://www.toymoban.com/news/detail-609862.html

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

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

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

相关文章

  • 【微服务】4、NACOS 配置管理

    🎼 服务注册到 Nacos 时,可以选择注册为临时实例或非临时实例 🎼 临时实例宕机时,会从 Nacos 的服务列表中剔除;非临时实例宕机不会从服务列表中剔除 🎼 注册到 Nacos 中的服务默认是非临时实例(除非设置 ephemeral 属性为 false) 同: 📔 都支持服务注册和服务拉取 📔 都

    2024年02月14日
    浏览(38)
  • 【微服务】Nacos:发现、配置和管理微服务

    Nacos 在阿里巴巴起源于 2008 2008 2008 年五彩石项目(完成微服务拆分和业务中台建设),成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。 随着云计算兴起, 2018 2018 2018 年 Nacos(阿里内部 Configserver/Diamond/ Vipserver 内核)开源,作为阿里十年

    2024年02月07日
    浏览(34)
  • Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等

    传统项目中,当我们需要修改配置文件时,需要修改配置文件,停掉服务,重启服务,这样不利于提升用户体验; 而使用Nacos进行项目的配置文件管理,则可以实现热更新配置文件,在Nacos中修改之后,Nacos会通知项目新的配置文件。 添加配置文件 第一步,点击添加配置:

    2023年04月11日
    浏览(43)
  • 【微服务】Nacos注册中心(3):配置管理

    给微服务配置namespace 给微服务配置namespace只能通过修改配置来实现。 重启order-service后,访问控制台,可以看到下面的结果 此时访问order-service,因为namespace不同,会导致找不到userservice,控制台会报错 Nacos的服务实例分为两种l类型: 临时实例:如果实例宕机超过一定时间,

    2024年02月05日
    浏览(47)
  • SpringCloudAlibaba微服务 【实用篇】| Nacos配置管理

    目录 一:Nacos配置管理 1. 统一配置管理 2. 配置热更新 3. 配置共享 4. 搭建Nacos集群 tips :前些天突然发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,感兴趣的同学可以进行学习人工智能学习网站 Nacos除了可以做注册中心(前面已经讲了)

    2024年02月05日
    浏览(48)
  • 【微服务】配置Nacos管理SpringBoot配置文件(附解压包)

       📝个人主页:哈__ 期待您的关注  一、什么是Nacos Nacos可以帮助我们配置和管理微服务,是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。Nacos可以用来实现配置中心和服务注册中心。 二、Windows安装Nacos 点击此处下载解压

    2024年04月17日
    浏览(36)
  • 【SpringCloud】三、Nacos服务注册+配置管理+集群搭建

    官网:https://nacos.io/zh-cn/ 下载 解压 启动 启动成功 登录 在cloud-demo 父工程中添加 spring-cloud-alilbaba的管理依赖: 子模块下添加nacos的客户端依赖(此时user、order中的eureka可以注释掉了) 在order和user模块的application.yml文件中,注释eureka地址,添加nacos的地址 重启order服务,查看

    2024年02月06日
    浏览(54)
  • Nacos:多环境下如何“管理”及“隔离”配置和服务

    现如今,在微服务体系中,一个系统往往被拆分为多个服务,每个服务都有自己的配置文件,然后每个系统往往还会准备开发环境、测试环境、正式环境 我们来说算一算,假设某系统有10个微服务,那么至少有10个配置文件吧,三个环境(devtestprod),那就有30个配置文件需

    2023年04月09日
    浏览(42)
  • Nacos配置管理、Fegin远程调用、Gateway服务网关

    Nacos除了可以做注册中心,同样可以做配置管理来使用。 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理,另一方可以

    2024年02月03日
    浏览(38)
  • Nacos配置管理、Feign远程调用、Gateway服务网关

    1.在Nacos中添加配置 Data Id = 服务名称-环境名称.yaml eg: userservice-dev.yaml 2.引入nacos-config依赖 在user-service服务中,引入nacos-config的客户端依赖 3.添加 bootstrap.yaml ,我们这里以显示一个日期时间为例 在user-service中添加一个bootstrap.yaml文件 4.编写controller 方式一 给 @Value 注入的变量

    2024年02月12日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包