- 注冊(cè)中心
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
源碼:
客戶(hù)端主要是:NacosNamingService 定時(shí)發(fā)送請(qǐng)求作為臨時(shí)節(jié)點(diǎn)保存在服務(wù)端
服務(wù)端主要是:InstanceController 接受請(qǐng)求宵凌,如果有集群把消息同步出去
- 配置中心
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置dataid
${prefix}-${spring.profile.active}.${file-extension}
prefix 默認(rèn)為 spring.application.name 的值腥椒,也可以通過(guò)配置項(xiàng) spring.cloud.nacos.config.prefix來(lái)配置。
spring.profile.active 即為當(dāng)前環(huán)境對(duì)應(yīng)的 profile,詳情可以參考 Spring Boot文檔。 注意:當(dāng) spring.profile.active 為空時(shí),對(duì)應(yīng)的連接符 - 也將不存在厦取,dataId 的拼接格式變成
{file-extension}
file-exetension 為配置內(nèi)容的數(shù)據(jù)格式,可以通過(guò)配置項(xiàng) spring.cloud.nacos.config.file-extension 來(lái)配置管搪。目前只支持 properties 和 yaml 類(lèi)型虾攻。
-
得到 data id為
${prefix}-${spring.profile.active}.${file-extension} ${spring-application-name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
動(dòng)態(tài)刷新配置
@ConfigurationProperties(prefix = "user")
@Component
@Data
@RefreshScope
public class User {
private String userName;
}