SpringCloud学习(二)Nacos介绍及Nacos服务搭建
一、Nacos简介
1. Nacos是什么?
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
2. 为什么选用Nacos
随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件
配置修改刷新时需要SpringCloud Bus消息总线发出消息通知(Kafka、RabbitMQ等)到各个服务完成配置动态更新,否者只有重启各个微服务实例,但是nacos可以同时实现注册和配置中心,以及配置的动态更新。
3. Nacos vs Spring Cloud
相对于 Spring Cloud Eureka 来说,Nacos 更强大。
Nacos = Spring Cloud Eureka + Spring Cloud Config
Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config:
- 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。 - 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。
二、Nacos服务搭建
1. 下载nacos-server
地址:https://github.com/alibaba/nacos/releases
选择nacos-server-1.4.3.zip下载并解压。
2. Nacos部署环境
必须要先配置好JDK8+环境!!!
Nacos支持三种部署模式:
-
单机模式:用于测试和单机试用。 集群模式:用于生产环境,确保高可用。 多集群模式:用于多数据中心场景。
3. 单机模式下运行Nacos
单机模式默认是内嵌数据库,不需要配置数据库就可通过命令运行。
- Linux/Unix/Mac
执行脚本命令如下:
startup.sh -m standalone
- Windows
执行如下cmd命令:
startup.cmd -m standalone
其中-m standalone指定为单机模式,否则以cluster集群模式启动。
4. 单机模式支持mysql
在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。
0.7版本增加了支持mysql数据源能力,具体的操作步骤:
- 安装数据库,版本要求:5.6.5+
- 初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
- 修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=nacos_devtest db.password=youdontknow
再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql。
5. 集群模式
请参见官网: 或