1、 环境/工具
springboot 2.6.13
springcloud-openFeign
springcloudAlibaba nacos server 2.1.0 (windows)
nacos server 2.1.0下载:
链接:https://pan.baidu.com/s/1F8mtLo8BbuOAJ099EckVrQ
提取码:iwsr
官网最新版本:
https://github.com/alibaba/nacos/releases
2、步骤
官网文档:
2.1 安装 nocos server 2.1.0 windows版
直接进入下载文件的目录: /bin/startup.bat ,修改启动模式为本机单机启动:
修改完后保存文件,双击startup启动:
登录 http://127.0.0.1:8848/nacos 可以访问,登录账号/密码默认 nacos/nacos
2.2 整合nacos注册中心
作用:服务注册与发现,服务管理等
引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
添加配置
application.properties 或者 application.yml 中添加如下配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=service-provider
server.port=18082
验证
启动微服务,登录nacos server,服务列表中发现有注册上去。
2.3 整合nacos配置中心
作用:不重启微服务,支持在线更改并实时读取配置
引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
application.yml添加配置
spring:
cloud:
nacos:
config:
#配置中心
server-addr: 127.0.0.1:8848
username: 'nacos'
password: 'nacos'
refresh-enabled: true
#每个微服务设置自己的命名空间
namespace: 07879519-124b-4be2-ada5-e86eeb4a310f
config:
import:
- nacos:gulimail-coupon?group=dev
# - nacos:gulimail-coupon2?group=dev
添加一个demo.properties文件
本地读取demo.properties文件,这边使用@ConfigurationProperties方式,prefix对应配置文件属性值前缀。
@Value 注解类属性方式会出现无法同步更新的情况。
@RefreshScope
@Data
@Configuration
@ConfigurationProperties(prefix = "demo", ignoreUnknownFields = false)
@PropertySource("classpath:demo.properties")
public class CouponProperties {
private String name;
private String age;
private String test;
}
平台新建命名空间、配置(匹配demo.properties)
验证实时读取配置(会优先读取配置中心的值)
可以看到此时接口优先获取配置中心的值:
验证是否同步更新:修改配置中心的值
点击发布,控制台日志反映有实时监听到值的变化。
重新请求测试接口,发现userName已同步更新
注:配置中心支持任何配置包括项目的数据源,mybatis等配置
2.4 整合springcloud openFeign
引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
添加注解:
先找到服务名,再根据路径去调用