前端转后端入门实践日志2-nacos

本文记录前端转后端过程中对Nacos 2.1.2的入门实践,涵盖服务端获取、启动、控制台登录、命名空间配置、远程配置导入及优先级规则。重点说明Nacos作为Spring Cloud Alibaba生态下的配置中心与服务注册中心的核心作用,强调其统一管理application.yml配置、支持动态刷新、远程配置优先于本地配置等关键特性,并指出未启动Nacos将导致服务启动失败。

已完成分析,共参考 12 篇资料
Nacos 可以理解为微服务架构里的 “服务注册中心 + 配置中心 + 服务管理平台”。
在 Spring Boot 多项目里,它主要解决两件事:服务之间怎么互相找到,以及配置怎么统一管理、动态刷新。

能力作用实际场景
服务注册与发现服务启动后把自己的地址注册到 Nacos,调用方从 Nacos 拉取可用实例订单服务调用用户服务时,不用写死 IP 和端口
配置中心把数据库地址、开关、超时时间等配置集中管理修改某个参数后推送给所有服务,不用逐个重启
健康检查自动判断服务实例是否存活某个服务挂了,流量不再转发到它
命名空间 / 分组按环境、业务线隔离配置和服务dev、test、prod 环境互不影响
服务治理支持权重、元数据、灰度发布等新版本服务先接少量流量,再全量发布

上面的解释好官方啊,

我的理解

把写在application.yml里的配置,统一让nacos管理

获取nacos-server-2.1.2软件

可以直接拷贝同事的,

Nacos Server 本质上就是一个 Java 服务。
它底层是 Spring Boot 应用,入口是 com.alibaba.nacos.Nacos 的 main 方法,内嵌 Web 容器,启动后会监听端口,提供注册中心、配置中心和控制台能力。

启动

nacos-server-2.1.2\nacos\bin\startup.cmd 点击启动

配置

浏览器直接打开 http://localhost:8848/nacos/#/
账号/密码 nacos/nacos

设置命名空间

在这里插入图片描述

注意这个命名空间,不是随便填写的, 去代码里找application.yml 里
在这里插入图片描述
这个配置 , 要和这个同名, 多个项目可以统一在这里配置,

导入配置

在这里插入图片描述

这里导入同事们的配置,

里面有什么东西

其实就是application.yaml里对应的配置

优先级

默认情况下:Nacos 远程配置优先级高于本地 application.yml。
同一个配置项,如果 Nacos 和本地都配了,最终以 Nacos 上的值 为准

这里可以学一下 springboot 配置文件和配置文件的优先级

配置文件

spring:
  config:
    import:
      - optional:nacos:ezgo.yaml
      - optional:nacos:oa-service-dev.yaml
  cloud:
    inetutils:
      preferred-networks:
        - 172.29
    loadbalancer:
      ip: true
    nacos:
      server-addr: http://127.0.0.1:8848
      discovery:
        enabled: true
        namespace: czzjk_${spring.profiles.active}
        group: DEFAULT_GROUP
      config:
        enabled: true
        namespace: czzjk_${spring.profiles.active}
        group: DEFAULT_GROUP
        file-extension: yaml

这份配置是 Spring Cloud Alibaba + Nacos 的标准接入配置,核心作用就两件事:把 Nacos 当成配置中心和服务注册中心接进来,并指定连哪个环境(命名空间)

报错

若不启动nacos, 本地服务启动也会失败

可能原因说明
实际没有 optional:写成 nacos:ezgo.yaml,就会强制要求 Nacos 可达
Nacos 上配置不存在没有 ezgo.yaml、oa-service-dev.yaml,且没加 optional:
命名空间没建namespace: czzjk_dev 对应的命名空间 ID 不存在
端口/网络不通8848 没启动,或防火墙、Docker 端口没开放
Nacos 3.x 控制台端口变了3.x 控制台可能是 8080,但客户端通信仍用 8848 / 9848
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值