前端转后端入门实践日志2-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 配置文件和配置文件的优先级

配置文件

java 复制代码
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
相关推荐
change_fate1 小时前
Vue 3 Composable 函数指南
前端·javascript·vue.js
tryCbest1 小时前
Vue3——第 9 篇:组件通信全攻略(下)——Provide / Inject 与事件总线
前端·javascript·vue.js
lichenyang4531 小时前
技术穿刺怎么做?以企业知识库问答为例,验证风险、方案和投入
前端·后端
PedroQue991 小时前
uni-app x工程化实战:从页面堆到可维护架构
前端·uni-app
开开心心_Every2 小时前
免费压缩软件WinRAR无弹窗、广告干扰
java·开发语言·前端·spring·智能手机·word·winrar
特立独行的猫A2 小时前
用仓颉语言写桌面应用:cj-tauri 框架与 AI 笔记软件 cjnote 实战
前端
特立独行的猫A2 小时前
我为什么推荐用仓颉语言的cj-tauri 写桌面应用(附 cjnote 最小的markdown笔记AI软件)
前端
纸片人2 小时前
牛一越界,大屏 3 秒飞到它身边:我用真实卫星数据 + Three.js 做了个 3D 智慧牧场
前端
cc_瀚海知行2 小时前
工具调用 6|助手什么时候该停下来?
java·服务器·前端·人工智能·python·ai