不会Nacos的配置中心?你怎么敢的呀!如何一步步实现Nacos作为服务的配置中心(全网最详系列)
Posted IT挖掘机y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不会Nacos的配置中心?你怎么敢的呀!如何一步步实现Nacos作为服务的配置中心(全网最详系列)相关的知识,希望对你有一定的参考价值。
首 先 容 我 说 一 句 题 外 话 , 再 卷 咱 就 不 能 愉 快 的 玩 耍 了 ! g o {首先容我说一句题外话,再卷咱就不能愉快的玩耍了!go~} 首先容我说一句题外话,再卷咱就不能愉快的玩耍了!go
文章目录
1 、 前 置 准 备 {1、前置准备} 1、前置准备
首先应该安装好nacos服务,我使用的是云服务器安装的nacos;
下载安装教程:https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501
springcloud alibaba-nacos地址:https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_spring_cloud_alibaba_nacos_config
2 、 框 架 搭 建 {2、框架搭建} 2、框架搭建
Ⅰ、搭建父工程
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hao</groupId>
<artifactId>cloudAlibaba-nacos</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>nacos-confing</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.6.RELEASE</version>
</parent>
<properties>
<spring.cloud.alibaba.version>2021.1</spring.cloud.alibaba.version>
<spring.cloud.alibaba.nacos.version>2.1.1.RELEASE</spring.cloud.alibaba.nacos.version>
<spring.cloud.alibaba.nacos.config.version>2.1.1.RELEASE</spring.cloud.alibaba.nacos.config.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring.cloud.alibaba.nacos.config.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.alibaba.nacos.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Ⅱ、创建一个子模块nacos-config
1、子模块pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloudAlibaba-nacos</artifactId>
<groupId>com.hao</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>nacos-confing</artifactId>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
2、编写controller
@RestController
@RefreshScope
public class ConfigController {
@Value("${config.info}") //注入nacos服务中心我自定义的配置项(后面会详细说)
private String configInfo;
@GetMapping(value = "/config/info")
public String getInfo() {
return configInfo;
}
}
bootstrap.yml和application.yml的区别是bootstrap早于application加载(加载时机不同)
3、bootstrap.yml
server:
port: 8082
spring:
application:
name: nacos-config-client #服务名
cloud:
nacos:
discovery:
server-addr: 你的ip:8848 #注册进nacos的服务地址
config:
server-addr: 你的ip:8848
file-extension: yaml #配置中心的配置文件类型(后面详解)
4、application.yml
spring:
profiles:
active: dev #表示当前处于开发环境
3 、 配 置 中 心 设 置 {3、配置中心设置} 3、配置中心设置
注意需要先启动nacos服务,如果有疑问请移步:https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501
访
问
h
t
t
p
:
/
/
i
p
/
8848
/
n
a
c
o
s
/
i
n
d
e
x
.
h
t
m
l
/
{访问http://ip/8848/nacos/index.html/}
访问http://ip/8848/nacos/index.html/
由于我在controller使用@Value注解获取配置中心的配置文件的config.info的值,所以配置中心的配置文件需要有这个配置项
那么如何在配置中心配置这个值呢?且听我细细道来
点击+号
最主要的是要找对这个Data ID,如何找呢?
匹配模式:${spring.application.name}- ${spring.profiles.active}. ${spring.cloud.nacos.config.file-extension}
这 就 要 从 b o o t s t r a p . y m l 和 a p p l i a t i o n . y m l 找 值 了 {这就要从bootstrap.yml和appliation.yml找值了} 这就要从bootstrap.yml和appliation.yml找值了
1 、 首 先 s p r i n g . a p p l i c a t i o n . n a m e 的 值 是 n a c o s − c o n f i g − c l i e n t {1、首先spring.application.name的值是nacos-config-client} 1、首先spring.application.name的值是nacos−config−client
2 、 其 次 s p r i n g . p r o f i l e s . a c t i v e 的 值 是 d e v {2、其次spring.profiles.active的值是dev} 2、其次spring.profiles.active的值是dev
3 、 最 后 是 s p r i n g . c l o u d . n a c o s . c o n f i g . f i l e − e x t e n s i o n 的 值 是 y a m l {3、最后是spring.cloud.nacos.config.file-extension的值是yaml} 3、最后是spring.cloud.nacos.config.file−extension的值是yaml
所 以 最 后 拼 接 起 来 就 是 n a c o s − c o n f i g − c l i e n t − d e v . y a m l {所以最后拼接起来就是nacos-config-client-dev.yaml} 所以最后拼接起来就是nacos−config−client−dev.yaml
启动nacos-config服务
成功从nacos配置中心读取配置项了!
以上是关于不会Nacos的配置中心?你怎么敢的呀!如何一步步实现Nacos作为服务的配置中心(全网最详系列)的主要内容,如果未能解决你的问题,请参考以下文章
Java Spring Cloud 实战之如何使用Nacos和网关中心的创建?80%的人都不会
Java Spring Cloud 实战之如何使用Nacos和网关中心的创建?80%的人都不会