Nacos学习笔记(SpringBoot/SpringCloud)

一、配置管理

1.1 SpringBoot

1.1.1 依赖/配置

SpringBoot

Nacos

启动类

application.yml中配置nacos网址

Controller类

使用NacosValue,autoRefleshed为在nacos变更配置后可以自动刷新。

也可以这么配置dataId和自动刷新

1.2 SpringCloud

1.2.1 依赖/配置

1.

注意版本对应

2.SpringCloud的Controller自动刷新要这么写,不使用NacosValue而是使用@RefleshScope注解

3.可以写一个配置类,在要用的时候注入配置类使用get方法即可

1.2.2

1.2.2 按profile拉取配置

1.bootstrap文件如上配置时,优先级为:

2.nacos中的后缀是可以在bootstrap文件中配置的

3.bootstrap文件也可以通过-D来配置

1.2

1.2.3 extension和shared拉取多个配置

1.需要拉取多个配置,例如公共通用的一些配置时

新建一个公共配置

或

注:需要自动刷新时,需把refresh改为true。

2.extension和shared作用是相同的

3.优先级关系

4.file-extension的作用

获取到nacos中的配置内容后,将其转换为指定的形式(前提是配置内容符合对应格式)

主配置

1.2.4 历史版本回滚

1.2.5 监听查询

查询哪台机器在使用该配置

二、服务管理

2.1 Java SDK

2.1.1 服务注册

SpringCloud依赖

写法

clusterName指该服务属于哪个集群

或更细致的

2.1.2 服务发现

查找所有名字为name的、健康的服务

随机查找一个名字为name的、健康的服务

可以修改权重来提高被选中的概率

可以订阅服务,来监听服务的变化

2.2 SpringCloud

2.2.1 服务注册

配置应用名字和地址

2.2.2 服务发现

服务端配置restTemplate Bean

加上LoadBalanced负载均衡(把服务名翻译成具体实例的IP和端口)

用户端配置名字和服务器地址

调用provider服务的hello方法

2.2.3 临时实例与持久实例

临时实例(默认):客户端每5秒发送一次心跳,15秒无心跳变为不健康,30秒无心跳删除实例。

持久实例:该实例不会被删除,下线仅会变为不健康实例。

2.2.4 保护阈值

2.2.5 NacosRule

Nacos提供的负载均衡的规则,按Nacos中设置的权重来随机调用的实例。

2.2.6 Cluster就近访问

用户端可以配置优先访问的集群

2.2.7 订阅者列表

可以看到哪些机器在用服务

相关推荐
文丑颜不良啊1 小时前
LeetCode1581~1600题目解析
java·leetcode
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(06)
java·数据库·mysql·博客·实习
lqbzlll2 小时前
Spring Boot 开启虚拟线程后接口反而变慢了?4 个排查方向和对应修法
java·spring boot·后端
七夜zippoe2 小时前
LangChain4j vs Spring AI:Java AI 框架怎么选(对比表)
java·人工智能·spring·ai·langchain4j
悠仁さん2 小时前
【C++】set map 使用
java·前端·c++
yuniko-n2 小时前
【JUC】Thread 内存泄露
java
freejackman2 小时前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
企业数字化笔记2 小时前
业务单据怎样接入流程中心?启动条件、实例关联与失败回退
java·spring boot·mysql
挖掘狂人3 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员