spring cloud + nacos 多环境部署

21 篇文章 0 订阅
13 篇文章 0 订阅

我们开发过程中,要经历本地开发环境、dev开发环境、qa测试环境、(甚至还有uat演示环境)、生产环境。

那么我们就需要将服务做多环境处理。我们现在使用都是spring boot架构,它可以根据配置文件的配置去匹配子文件后缀,不过在Spring cloud环境下使用了nacos作为配置中心需要使用bootstrap.yml替换 appliation,yml作为配置文件。因为bootstrap的加载是在application的前面。这样可以显去抓线上配置文件。如果使用application作为配置文件就无法使用配置中心了。

spring:
  profiles:
    active: wm

这里使用active指定子bootstrap配置文件的后缀,比如:

这里就将bootstrap的多环境配置隔离到了不同环境文件中。

所以我们只需要在子配置文件中配置nacos的多环境即可。例如:

spring:
  cloud:
    nacos:
      config:
        enabled: true
        server-addr: ${codingfly.nacos.dev.server-addr}
        file-extension: yml
        group:
        encode: UTF-8
        namespace: ${codingfly.nacos.dev.namespace}
      discovery:
        server-addr: ${codingfly.nacos.dev.server-addr}
        namespace: ${codingfly.nacos.dev.namespace}

这里我们自己做了一个自己的环境配置,将各个环境的配置抽离成一个变量,然后统一在bootstrap中配置。

 

到此简单的多环境已经完成。但是有一个问题,项目组开发人员水平参差不齐,而且每个人去配置自己的nacos总local环境开发也不现实。这里就需要整个组配置一个nacos进行开发调试。但是如果大家都注册到一个nacos,那么一个服务就会有多个副本。自动被ribbon进行进程内负载均衡。不能保证每次调用都是自己的服务。那么怎么办呢?

 

其实既然是用了nacos,就可以配合使用其自带的namespace进行环境隔离,每个人去申请自己的namespace,然后将服务注册和配置注册时的namespace配置上。这样需要联调的两个人就可以使用一个namespace,做到各组开发互不干扰。

这样就实现了在单nacos环境下的多环境配置及多nacos环境下的多环境配置。同时使用,效果更好,比如我们本地local环境使用单nacos的多namespace观猎。及dev/qa共用一个nacos的多namespace管理以及生产的单nacos配置。

 

其实掌握了根本之后这里面还有诸多细节需要去根据需求掌控。这就需要根据自己的掌握情况一点点去调整了。

 

还有本地开发时,每个人都有自己的namespace,所以bootsrap根文件都会配置自己的active及codingfly配置。每次git提交更新会有一些繁琐。其实这个问题也很简单,我们可以使用idea提供的缓存功能。将我们自己的配置文件缓存起来。

然后就可以在

找到他们。每个更新代码时,将defalut中的配置文件还原。即可。更新代码后,从缓存区还原。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringCloud是一个开源的微服务框架,旨在简化构建分布式系统的复杂性。它提供了一组工具和组件,使开发者能够快速构建和部署分布式应用程序。 SpringBoot是一个用于快速开发Java应用程序的框架,它简化了配置和部署过程。通过使用自动配置和准备的开发环境SpringBoot可以让开发者专注于应用程序的业务逻辑而不是繁琐的配置。 Nacos是一个分布式的服务发现和配置管理平台。它可以帮助开发者轻松地实现微服务架构中的服务注册、发现和配置管理。Nacos提供了强大的服务发现和注册功能,支持动态配置管理,并具有容错和高可用性的特性。 结合起来,SpringCloudSpringBoot和Nacos可以实现快速构建和部署分布式系统的目的。SpringCloud提供了一组工具和组件,使得开发者能够轻松实现服务注册和发现、路由和负载均衡等功能。而SpringBoot简化了开发过程,通过自动配置和准备的开发环境,开发者可以快速搭建和开发应用程序。Nacos则提供了服务注册、发现和配置管理功能,使得开发者可以更方便地进行服务治理。 总之,SpringCloudSpringBoot和Nacos是三个非常重要的框架和平台,它们的结合可以帮助开发者更快速、更方便地构建和部署分布式系统。通过使用这些工具和组件,开发者可以专注于业务逻辑的开发和实现,而无需过多关注系统的复杂性和细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值