文章目录
一、安装以及下载
本文以linux系统作为实例,讲解nacos单机以及集群的搭建。
1、下载nacos地址
2、安装以及启动
2.1、单机模式启动
1、将nacos压缩包复制到 /usr/local 路径下,解压压缩包。
2、运行解压命令
tar -zxvf nacos-server-2.0.3.tar.gz
3、运行nacos
进入bin目录下,找到startup.sh启动脚本,运行脚本 ./startup.sh -m standalone ,以单机模式启动,nacos默认是以集群方式启动的。
4、访问nacos地址,nacos配置文件默认是以8848端口号启动,如我的地址
127.0.0.1:8848/nacos进入首页,用户名密码默认都是nacos。
如果报错可以查看/usr/local/nacos/logs/start.out的日志文件,具体的报错信息。
2.2、集群模式启动
nacos通常搭配nginx作为代理来访问。复制三份nacos文件。
1、修改nginx配置文件nginx.conf(记得先备份),添加如下语句
upstream cluster{
server 127.0.0.1:3333;
server 127.0.0.1:4444;
server 127.0.0.1:8848;
}
server {
listen 5555;
server_name localhost;
location /nacos/{
proxy_pass http://cluster/nacos/;
}
}
解释:通过访问127.0.0.1:5555/nacos/,路由到 http://cluster/nacos/;,而cluster是upstream配置的集群路由地址。
2、修改nacos配置文件application.properties
修改路径**/usr/local/nacos/conf** 的文件application.properties,修改端口号server.port=xxxx。
3、修改集群配置文件cluster.conf(记得备份)
修改路径**/usr/local/nacos/conf** 的文件cluster.conf,把之前的实例映射注释,添加三个nacos实例的配置如下:
192.168.149.137:3333
192.168.149.137:4444
192.168.149.137:8848
地址为当前nacos的ip端口,和集群总其他nacos的ip端口号。
启动三个nacos服务器,通过nginx代理访问进入nacos首页。nginx默认采用轮询机制。
二、nacos作为注册中心
nacos注册中心官方文档
本位以SpringCloud讲解注册到nacos注册中心。
1.引入pom包
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、构建yaml文件
server:
port: 9002
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: 192.168.149.137:5555 #linux nginx反向代理地址
enabled: true # 是否开启nacos注册发现
management:
endpoints:
web:
exposure:
include: '*'
启动SpringCloud服务。如果在nacos页面出现如下页面表示注册成功
3、服务提供方和消费方
客户端可以直接通过注册到nacos的服务名(spring.application.name)来消费接口。
三、nacos作为配置中心
同样nacos作为配置中心通过spingcloud来讲解。
1、引入nacos配置pom包
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2、完整yaml
在运行服务之前,必须使用 bootstrap.properties 配置文件来配置Nacos Server 地址。如有需要自行查询Springboot的配置文件(bootstrap.properties和application.yml)优先级。
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
# server-addr: localhost:8848
server-addr: 192.168.149.137:5555 #linux nginx反向代理地址
# server-addr: 192.168.149.137:8848 #linux nacos地址
config:
# server-addr: localhost:8848 # nacos地址
server-addr: 192.168.149.137:5555 #linux nginx反向代理地址
# server-addr: 192.168.149.137:8848 #linux nacos地址
file-extension: yaml # 指定配置文件类型格式
enabled: true
# group: DEFAULT_GROUP # 有三种方式可以group dataID 和namespace配置三种方式区分配置
# group: DEV_GROUP
# namespace: 5f196b34-fce1-49d7-ad06-a845edd0bd67 #命名空间
# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
3、nacos作为配置中心
1、在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
参数说明:
- prefix:为配置文件中spring.application.name的值
- spring.profiles.active:配置文件激活的对应的环境如dev、test等
- file-extension:指定文件的格式,如yaml和properties
如图:
2、使用spring原生注解配置动态刷新@RefreshScope
3.1三种配置方式
3.1.1 DataID(通过修改profile)作为配置文件的方式
在nacos注册中心新建两个以dataid为区分的配置。
如:nacos-config-client-dev.yaml和nacos-config-client-test.yaml
通过修改springcloud的spring.profile.active参数激活对应的配置文件,达到动态刷新的效果。
spring:
profiles:
active: dev #激活dev环境 对应nacos的nacos-config-client-dev
# active: test #激活test环境 对应nacos的nacos-config-client-test
3.2、Group作为配置
1、添加group分组
2、修改配置文件
3.3、Namespace配置
1、新建命名空间
2、yaml配置
为自动生成的命名空间id,或自己指定的。因为指定了mysql库,查看mysql库可以查看新增了一条数据。
如下: