是什么?
就是注册中心 + 配置中心的组合
等价于 Eureka+Config+Bus
能干嘛?
替代Eureka做服务注册中心
替代config做服务配置中心
下载地址
https://github.com/alibaba/Nacos
官网
https://nacos.io/zh-cn/
运行
bin目录下的 .\startup.cmd
访问
localhost:8848/nacos
u:nacos
p:nacos
nacos作为服务注册中心
1.父pom
<!-- springcloud alibaba 2.1.0.RELEASE -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.项目pom
<!-- SpringCloud alibaba nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3.application.yml
server:
port: 端口
spring:
application:
name: 项目名
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置nacos地址
management:
endpoints:
web:
exposure:
include: "*"
4.main方法注解
@EnableDiscoveryClient //nacos
nacos作为服务配置中心
Nacos中的dataid的组成格式以及SpringBoot配置文件中的匹配规则
官方文档
1.DataID方案
在application.yml
spring:
profiles:
active: dev #表示开发环境
对应
2.Group方案
在bootstrop.yml
对应
3.Namespage方案
在bootstrop.yml中
对应(在命名空间新增)
nacos集群和持久化配置
持久化配置切换
我们这样做的目的是,nacos如果集群的话,一个nacos服务内置一个数据库,这样集群的nacos数据不一致,所以得外接数据库,多个nacos服务连接同一个sql这样可以保证数据库的统一。
1.初始数据库
执行成功
2.改配置文件
去官网复制 改为自己的数据库
https://nacos.io/zh-cn/docs/deployment.html
nacos集群配置
我们要把集群弄成以下的结构
1.前置工作
安装nginx
安装mysql 5.6以上
使用nginx负载均衡nacox集群的的服务
2.修改nacos/conf/cluster.conf
3.修改nacos/bin/startup.sh
4.启动
./startup.sh -p 3333
./startup.sh -p 4444
./startup.sh -p 5555
这样就完成了集群启动
下面只需要将nginx的1111负载均衡到3333 4444 5555 的端口就可以