news 2026/3/14 3:50:16

Nacos,咱河南的物业中心(得劲!)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nacos,咱河南的物业中心(得劲!)

一、先说个事儿

昨天俺说用Eureka,是SpringCloud老版本用的。现在人家都升级了,用Nacos了!Nacos是阿里巴巴弄的,比Eureka还得劲!为啥?

  1. 功能多:不光是物业中心,还是配置中心(一中心两用,省钱!)
  2. 中文:中国人弄的,文档看着不费劲
  3. 活跃:更新快,用的人多

就跟咱郑州的社区服务中心一样,又能办户口(服务注册),又能办社保(配置管理)!

二、Nacos是弄啥嘞?

1. 服务注册与发现(办户口)

  • 微服务启动:“领导,我是user-service,来报个到!”
  • Nacos:“中,登记上了,给你个户口本!”
  • 其他服务找user-service:“领导,user-service住哪?”
  • Nacos:“8081号楼,去吧!”

2. 配置管理(发通知)

  • 改个配置,不用每个服务都重启
  • 在Nacos上改一下,所有服务都生效
  • 就跟村里大喇叭喊一嗓子,全村都知道了

三、先把Nacos装起来

步骤1:下载Nacos

  1. 去官网:https://github.com/alibaba/nacos
  2. 下载最新版(建议2.x版本)
  3. 解压到不带中文的路径!比如:D:\nacos

步骤2:启动Nacos(两种方式)

方式一:单机模式(推荐新手用)

# 进入nacos的bin目录cdD:\nacos\bin# Windowsstartup.cmd-mstandalone# standalone就是单机# Linux/Macshstartup.sh-mstandalone

方式二:用Docker(会Docker的用这个)

dockerrun--namenacos-eMODE=standalone-p8848:8848 nacos/nacos-server

步骤3:登录Nacos

  1. 启动成功后,浏览器打开:http://localhost:8848/nacos
  2. 用户名:nacos
  3. 密码:nacos
  4. 看到这个页面就中了:
欢迎使用 Nacos! 服务管理 | 配置管理 | 命名空间 | ...

四、把user-service登记到Nacos

步骤1:改pom.xml(加依赖)

user-servicepom.xml里加:

<!-- Nacos服务注册与发现 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2021.0.5.0</version><!-- 注意版本! --></dependency>

步骤2:改配置文件(application.yml)

server:port:8081spring:application:name:user-service# 服务名,重要!cloud:nacos:discovery:server-addr:localhost:8848# Nacos地址# 下面这几个参数可配可不配,先知道有这回事namespace:public# 命名空间,默认publicgroup:DEFAULT_GROUP# 分组,默认DEFAULT_GROUPephemeral:true# 是否临时实例(临时实例挂了自动剔除)

步骤3:启动类加注解

@SpringBootApplication@EnableDiscoveryClient// 这个注解是通用嘞,Nacos、Eureka都能用publicclassUserServiceApplication{publicstaticvoidmain(String[]args){SpringApplication.run(UserServiceApplication.class,args);}}

步骤4:启动并检查

  1. 启动user-service
  2. 等10秒钟(别急,得给人家登记的时间)
  3. 打开Nacos页面(http://localhost:8848/nacos
  4. 点左边菜单服务管理 -> 服务列表
  5. 看到user-service就妥了:
服务名 健康实例数 触发保护阈值 user-service 1/1 false

五、再登记个order-service

步骤1:新建项目

跟昨天一样,新建order-service

server:port:8082spring:application:name:order-service# 名儿不一样!cloud:nacos:discovery:server-addr:localhost:8848

步骤2:写个接口测试一下

@RestControllerpublicclassOrderController{@GetMapping("/order/info")publicStringorderInfo(){return"这是订单服务,端口:8082";}// 这个接口先放着,明天用@GetMapping("/order/user")publicStringgetUserFromOrder(){return"明天学咋调user-service!";}}

步骤3:启动查看

  1. 启动order-service
  2. 刷新Nacos服务列表
  3. 看到两个服务,得劲!

六、Nacos比Eureka得劲在哪?

1. 健康检查更细致

  • Eureka:只检查心跳(活着没)
  • Nacos:能检查服务健康状态(活的咋样)

2. 配置管理二合一

  • Eureka:只能管服务注册
  • Nacos:既能管服务,又能管配置
  • 省了一个组件,少了很多麻烦

3. 集群模式更简单

  • Eureka集群配置麻烦
  • Nacos集群一键启动
  • 跟搭积木一样简单

4. 有中文啊!

  • 控制台全中文
  • 文档全中文
  • 报错信息也清晰

七、Nacos核心概念(得知道)

1. 命名空间(Namespace)

  • 相当于小区分区:A区、B区、C区
  • 不同命名空间的服务互相看不见
  • 默认用public

2. 分组(Group)

  • 相当于楼栋:1号楼、2号楼
  • 同一命名空间下,用分组再分一下
  • 默认用DEFAULT_GROUP

3. 服务名(Service Name)

  • 相当于门牌号:101、102
  • 就是spring.application.name

4. 集群(Cluster)

  • 相当于单元:一单元、二单元
  • 同一个服务可以部署多个实例,形成集群

八、今儿个任务总结

要做的事:

  1. ✅ 下载并启动Nacos
  2. ✅ 登录Nacos控制台(8848端口)
  3. ✅ 把user-service注册到Nacos
  4. ✅ 新建order-service也注册上去
  5. ✅ 在Nacos上能看到两个服务

常见问题:

问题1:Nacos启动失败

# 如果端口8848被占用# 1. 改Nacos端口# 修改nacos/conf/application.propertiesserver.port=8849# 2. 改服务配置文件spring.cloud.nacos.discovery.server-addr=localhost:8849

问题2:服务注册不上

  • 检查Nacos启动了没(http://localhost:8848/nacos能打开不)
  • 检查配置文件里的server-addr写对没
  • 检查网络通不通
  • 看服务启动日志有没有报错

问题3:版本冲突

<!-- 在pom.xml里统一管理版本 --><dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2021.0.5.0</version><!-- 用这个版本! --><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

九、手动模拟服务发现(先感受一下)

order-service里写个测试:

@RestControllerpublicclassTestController{@AutowiredprivateDiscoveryClientdiscoveryClient;// 服务发现客户端@GetMapping("/services")publicList<String>getServices(){// 获取所有注册的服务returndiscoveryClient.getServices();}@GetMapping("/service/instances/{serviceName}")publicList<ServiceInstance>getInstances(@PathVariableStringserviceName){// 获取某个服务的所有实例returndiscoveryClient.getInstances(serviceName);}}

访问http://localhost:8082/services,能看到:

["user-service","order-service"]

十、明儿个学啥?

明天咱学服务调用

  • order-service咋调用user-service?
  • OpenFeign,可方便!
  • 不用记IP端口,直接用服务名调用
  • 跟微信找人一样,不用记手机号,搜名字就中了!

小总结

今儿个咱用Nacos,比Eureka得劲多了

  1. 下载简单,启动方便
  2. 界面友好,全中文
  3. 功能强大,注册配置二合一
  4. 国产的,文档看着不费劲

记住:Nacos就是咱微服务的社区服务中心,啥事都管!

明儿个咱学咋让这两个服务说话(互相调用),可带劲!🚀

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 3:13:26

基于豆包、Claude识别的中国 A 股人工智能领域企业数据 2010-2024

2030基于豆包、Claude识别的中国 A 股人工智能领域企业数据 2010-2024数据简介在智能技术快速发展的浪潮中&#xff0c;通过企业的经营范围文本精准识别中国 A 股市场中属于人工智能领域的企业&#xff0c;是深入探究该领域发展规律、评估产业发展潜力的关键前提。其重要性不仅…

作者头像 李华
网站建设 2026/3/4 12:52:52

FFmpeg是否集成?HeyGem很可能内置用于格式转码

FFmpeg是否集成&#xff1f;HeyGem很可能内置用于格式转码 在数字人技术迅速落地的今天&#xff0c;越来越多的企业开始采用AI驱动的口型同步系统来生成宣传视频、教学内容或虚拟客服。这类工具的核心价值在于“易用性”与“自动化”——用户只需上传一段音频或视频&#xff0…

作者头像 李华
网站建设 2026/3/6 14:06:14

国家安全考量:系统遵守中国法律法规禁止违规应用

国家安全考量&#xff1a;系统遵守中国法律法规禁止违规应用 在AI生成内容&#xff08;AIGC&#xff09;技术迅猛发展的今天&#xff0c;数字人视频正逐步渗透进政务播报、企业宣传、远程教学等关键领域。一段音频输入&#xff0c;即可驱动虚拟人物“开口说话”&#xff0c;这种…

作者头像 李华
网站建设 2026/3/14 2:34:04

AI创作工作室必备:批量运行HeyGem提升产能十倍

AI创作工作室必备&#xff1a;批量运行HeyGem提升产能十倍 在短视频日活破亿、知识付费持续升温的今天&#xff0c;内容创作者正面临一个两难困境&#xff1a;用户对高质量视频的需求越来越高&#xff0c;而制作成本和时间投入却难以承受。尤其是教育机构、MCN公司和企业宣传部…

作者头像 李华
网站建设 2026/3/13 9:12:58

跨平台应用权限设计,如何实现C#中安全可靠的权限继承?

第一章&#xff1a;跨平台应用权限设计的核心挑战在构建跨平台应用时&#xff0c;权限管理成为影响用户体验与安全性的关键环节。不同操作系统&#xff08;如 iOS、Android、Windows、macOS&#xff09;对权限的定义、请求时机和用户授权机制存在显著差异&#xff0c;这使得开发…

作者头像 李华