使用 nacos 搭建注册中心及配置中心

简介: 使用 nacos 搭建注册中心及配置中心

本文为博主原创,转载请注明出处:

  在分布式微服务框架中,现在都流行使用 nacos 作为分布式框架的注册中心与配置中心。当我们搭建一套spring boot 框架的时候,默认会将配置文件

放在 resources 的配置目录下有bootstrap.yml 及application-dev.properties 配置文件进行管理,包括数据库配置,端口配置等等。

  现在使用 nacos 便可实现服务注册 与 配置管理的功能。

  nacos 提供的中文网址连接如下:https://nacos.io/zh-cn/docs/quick-start-spring-boot.html

  具体步骤如下:

    1.在项目中引入nacos 以及spring boot web启动的相关的依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/>
    </parent>
    <properties>
        <java.version>1.8</java.version>
        <spring-boot.version>2.2.8.RELEASE</spring-boot.version>
        <spring-cloud.version>2.2.2.RELEASE</spring-cloud.version>
        <spring-nacos.version>2.2.1.RELEASE</spring-nacos.version>
    </properties>
    <dependencies>
        <!--web启动-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${spring-boot.version}</version>
        </dependency>
        <!--nacos-config-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>${spring-nacos.version}</version>
        </dependency>
        <!--nacos-discovery-->
       <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>${spring-nacos.version}</version>
        </dependency>
    </dependencies>

 

  2.在项目配置 bootstrap.yml 文件中配置配置中心

  其中有一个默认组group的属性,如果不配其默认值为 DEFAULT_GROUP

spring:
  application:
    # 服务名称尽量用-,不要用_,不要用特殊字符
    name: test2
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml

  3.本地安装并启动 nacos

    nacos 默认的用户名和密码都为 nacos 。 在nacos 管理台进行配置中心的配置:

    配置管理 ---〉配置列表 ---- 〉点击加号 进行创建

 

点击加号进行配置  

 

  dataId 为项目框架中 bootstrap.yml 中的 spring.application.name 的配置值。

之于项目中 为什么要配置 bootstrap.yml 中配置application.name  以及项目启动如何匹配对应的配置文件列表,其缘由在nacos 中文网址给了说明:

 

进行启动,通过观察项目启动的端口号判断是否正确使用配置中心的配置,若未正确加载,则项目启动成功的端口号则为默认的8080,

若正确加载,则项目启动的端口号为配置中心的端口号:

 

  4.配置中心使用命名空间区分环境

    spring boot 项目中,常使用 application-dev.properties, application-test.properties, application-prd.properties等方式指定不同环境下的配置文件。

  nacos配置中心可以创建命名空间,区分不同的环境类型。

 

 

创建之后,会在配置列表看到 dev 的 tab 列表

 

  在列表中创建对应的配置,我这边创建的简单的配置如下:

 

 

 

  在项目代码的配置文件中指定命名空间以及 环境类型就可加载使用,在bootstrap.yaml中配置如下:

  namespace 的值为nacos 中命名空间的ID的值

spring:
  application:
    # 服务名称尽量用-,不要用_,不要用特殊字符
    name: test1
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        group: DEFAULT_GROUP
        namespace: 9f471483-5467-4077-81ae-b7ddb6cf2248

  本地项目启动加载配置,通过启动日志观察服务端口便可判断配置是否加载:

  

 

注意事项:

  1.在配置过程中,需要注意 pom中的 spring-boot-starter-parent 与  spring-boot-starter-web 两者的版本号相差不能太大,相差太大,容易导致启动报错,某些类 ClassNotFoundException等

  2.需要在项目的配置文件中指定项目名称

 

标签: spring cloud

目录
相关文章
|
21天前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
2月前
|
安全 Nacos 数据安全/隐私保护
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
84 8
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
|
9天前
|
Kubernetes Nacos 容器
nacos注册不上
我正在使用开源的Nacos,并已在Kubernetes中部署了Nacos服务,通过端口映射可在集群外访问Nacos控制台。Kubernetes使用NodePort类型暴露了8848、9848、9849、7848和9555端口,但在尝试注册时遇到问题,出现“Client not connected, current status: STARTING”的错误,导致启动失败。
|
21天前
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
2月前
|
Cloud Native Java Nacos
微服务注册中心-Nacos概述
该博客文章提供了对Nacos的全面概述,包括其基本介绍、与Spring Cloud集成的优势、主要功能以及如何在Spring Cloud Alibaba项目中作为服务注册中心使用Nacos。文章解释了Nacos是一个动态服务发现、配置管理和服务管理平台,支持服务发现、健康监测、动态配置、DNS服务和元数据管理。还介绍了如何下载和启动Nacos服务器,以及如何将微服务注册到Nacos中,包括修改pom.xml文件引入依赖、配置application.properties文件和使用@EnableDiscoveryClient注解开启服务注册发现功能。
微服务注册中心-Nacos概述
|
2月前
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
2月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
65 0
|
2月前
|
Kubernetes Nacos 微服务
【技术难题破解】Nacos v2.2.3 + K8s 微服务注册:强制删除 Pod 却不消失?!7步排查法+实战代码,手把手教你解决Nacos Pod僵死问题,让服务瞬间满血复活!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但有时会遇到“v2.2.3 k8s 微服务注册nacos强制删除 pod不消失”的问题。本文介绍此现象及其解决方法,帮助开发者确保服务稳定运行。首先需检查Pod状态与事件、配置文件及Nacos配置,确认无误后可调整Pod生命周期管理,并检查Kubernetes版本兼容性。若问题持续,考虑使用Finalizers、审查Nacos日志或借助Kubernetes诊断工具。必要时,可尝试手动强制删除Pod。通过系统排查,通常能有效解决此问题。
47 0
|
2月前
|
缓存 Cloud Native Java
【紧急救援】Nacos配置上线后失效?手把手教你如何轻松搞定命名空间修改难题!
【8月更文挑战第15天】Nacos是关键的云原生服务管理平台,用于动态服务发现与配置管理。但在使用其管理微服务配置时,可能会遇到命名空间内的配置更新后不生效的问题。本文探讨此问题并提供解决方案。首先需确认Nacos服务器运行正常及客户端正确连接。接着检查客户端缓存配置,可通过禁用缓存或缩短缓存间隔来即时更新配置。例如,在Spring Cloud Alibaba Nacos配置中心中启用自动刷新功能,并设置每5秒拉取新配置。同时,对于新增配置项,需重启客户端应用。还需检查Nacos服务器日志排除异常,并考虑升级Nacos版本解决兼容性问题。通过这些步骤,通常可有效解决配置不生效的难题。
56 0
|
2月前
|
安全 Nacos 数据库
【技术安全大揭秘】Nacos暴露公网后被非法访问?!6大安全加固秘籍,手把手教你如何保护数据库免遭恶意篡改,打造坚不可摧的微服务注册与配置中心!从限制公网访问到启用访问控制,全方位解析如何构建安全防护体系,让您从此告别数据安全风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其公网暴露可能引发数据库被非法访问甚至篡改的安全隐患。本文剖析此问题并提供解决方案,包括限制公网访问、启用HTTPS、加强数据库安全、配置访问控制及监控等,帮助开发者确保服务安全稳定运行。
108 0

热门文章

最新文章

下一篇
无影云桌面