前言
Nacos 致力于帮助您发现、配置和管理微服务。
Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。
官方网址:https://nacos.io/zh-cn/index.html
准备
环境: JDK 1.8+、Maven 3.2.x+
下载安装
- 下载源码(推荐)
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
- 下载安装包(安装包下载的巨慢)
安装包下载地址:https://github.com/alibaba/nacos/releases
下载完成后解压,操作同上
启动
Linux/Unix/Mac 启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows 启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
这时候 nacos-server 就启动成功了
访问 http://localhost:8848/nacos/index.html
初始用户名密码都是 nacos
服务注册
引入依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
application.yml
spring:
application:
name: gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
server:
port: 9700
启动Java应用
这个时候就可以在nacos的控制台中发现注册进来的应用了
配置管理
引入依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
1.通过${spring.profile.active}去管理配置文件信息
这种管理方式相对常见,但是配置文件如果多的话,全部在 public 的命名空间下就不是很方便管理
新增一个 bootstrap.yml 配置文件
spring:
application:
name: gateway
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml
prefix: gateway ### 新建配置的时候的${prefix}
profiles:
active: dev ### 新建配置的时候的${spring.profiles.active}
启动Java应用,访问controller配置的url
这时候,我们在nacos中修改这个变量的值,并发布
这时候我并没重启应用,但是值却发生了变化(基于HTTP长轮询,客户端和配置中心建立HTTP长联接,当配置变更的的时候,配置中心把配置推送到客户端。)
2.通过nacos命名空间去管理配置文件信息
创建命名空间
选择新建的TEST命名空间,并新建配置
新增一个 bootstrap.yml 配置文件 这里可以不需要写${spring.profiles.active}
spring:
application:
name: gateway
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml
prefix: gateway
namespace: a6fbdaf0-30f1-4afd-b565-d8b2abac7e22
启动Java应用,访问controller配置的url
END