网站首页 > 博客文章 正文
一、Nacos注册中心&配置中心
1、什么是服务的注册和发现
治理中心(注册中心):nacos服务器就是治理中心,它里面要注册所有的微服务,生成一个服务列表
服务注册:nacos客户端要连接注册中心,将自己的信息注册到服务列表中,自己的信息包括:application.name、IP、port
服务发现:每个客户机会从nacos治理中心下载服务列表,从服务列表中获取其他微服务连接信息
心跳机制:客户机会每隔5秒连接一次注册中心,注册中心开启线程检查每个服务最后一次连接的时长是否超过30秒,如果超过就会从服务列表中把相关服务移除
注册中心架构两个角色
Nacos Server:服务注册中心
注册中心:Server作为服务注册功能的服务器,是服务注册中心,系统中的其他微服务,使用nacos客户端连接到Nacos Server并且维持心跳连接,这样系统的维护人员就可以通过Nacos Server来监控每个微服务是否正常运行
Nacos Client:服务客户端
客户端:Nacos Client是一个Nacos客户端,用于跟Nacos Server的交互,在应用启动后,将会向Nacos Server发送心跳(默认周期为5秒)
Nacos Client会缓存服务注册表中的信息,这种方式有一定的优势,首先可以降低Server的压力,其次当所有的Server宕机,服务调用依然可以完成调用。
心跳检测:Nacos Client会在启动后发送一次心跳检测并注册到注册列表上,然后每隔5秒都去联系一次注册中心,注册中心每次接收到客户端心跳请求后都会记录接收时间,然后服务器端会开启一个定时线程查看所有的客户端最新心跳时间,超过15秒的客户端标记不健康服务,超过30秒的客户端从注册列表中移除。 |
2、安装Nacos
准备环境
64 bit JDK 1.8+
Maven 3.2.x+
nacos目录结构
bin:启动Nacos服务的脚本目录
conf:Nacos的配置文件目录
target:Nacos的启动依赖存放目录
data:Nacos启动成功后保存数据的目录
Linux安装
Markdown |
window安装
Markdown |
3、访问Nacos
访问nacos的web服务管理界面:http://localhost:8848/nacos
用户名:nacos
密码:nacos
二、开发服务注册到Nacos
引入nacos client依赖
XML |
配置注册地址
Properties |
设置启动服务注册注解
Java |
启动项目
查看nacos服务列表
设置并发启动
三、配置中心Nacos
目前项目的问题:
各个微服务散落在各个服务器上,修改配置文件的时候,需要找到每个服务器去修改
修改完配置文件后,需要重启服务器让配置生效
配置中心可以解决这些问题: 配置中心可以把所有的微服务的配置信息统一在一个地方进行管理,这样修改的时候就不用到各个服务器上去找配置文件了,并且修改完会自动刷新生效。 |
引入nacos-config依赖
Properties |
创建bootstrap.properties并配置
Properties |
bootstrap.properties和application.properties区别
springboot在启动的时候会优先读取bootstrap配置文件,启动到后期才会读取application配置文件。那在项目启动初期,我们就需要springboot知道项目的配置信息在配置中心的哪个文件里面。所以我们需要把配置中心的配置信息配置到bootstrap文件里面。bootstrap文件的写法给application一致。也可以是properties文件也可以是yml文件。如果bootstrap和application里面都配置有相同的配置项,application会把bootstrap里面的覆盖掉。
application-prod内容
Properties |
商品服务测试接口
Java |
创建配置
DataId
用来读取远程配置中心的中具体配置文件其完整格式如下:${prefix}-${spring.profile.active}.${file-extension}
prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
配置自动配置刷新
默认情况下nacos已经实现了自动配置刷新功能,如果需要刷新配置,可以直接在控制器中加入@RefreshScope注解即可
Java |
更改配置之前访问
更改配置之后访问
使用配置中心的好处:
统一管理,不用再每个项目中去找配置文件了
可以修改完毕后,不用重启服务,配置项自动生效
猜你喜欢
- 2024-10-01 微服务学习笔记(微服务怎么学)
- 2024-10-01 干货:SpringBoot集成Nacos,填坑篇
- 2024-10-01 记一次把Nacos做成服务并开机启动
- 2024-10-01 Nacos 配置中心与注册中心(nacos配置中心连接超时)
- 2024-10-01 小白入门必知必会-Nacos单机安装(nacos入门教程)
- 2024-10-01 windows系统 安装nacos服务注册与发现中心
- 2024-10-01 网络环境问题导致的nacos集群故障
- 2024-10-01 分布式服务限流降级熔断解决方案Nacos之Dashboard界面配置含义
- 2024-10-01 Nacos你真的理解了吗(nacos百科)
- 2024-10-01 java微服务环境配置——注册中心 配置中心Nacos
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 358℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)