概述
Spring Cloud Alibaba定位
1.对Spring Cloud的标准实现
2.以微服务为核心的整体解决方案
3.开源与平台服务分别维护
Spring Cloud Alibaba的版本依赖
Nacos介绍

Nacos的四大功能
1.服务发现和服务健康监测
但在微服务系统中,需要对一个应用系统根据其功能特点,按照一定粒度进行拆分后单独部署,以便实现模块内的高内聚,模块间的低耦合,实现整个微服务系统的高可扩展性。
一次在一个应用内即可完成的请求处理,会出现跨进程跨主机的服务调用,如何让这个服务之间能互相发现像单体式应用一样提供统一对外的服务调用能力是微服务框架层面需要重点解决的核心问题之一。 在 Spring Cloud 生态中,采用了如下服务注册与发现模型,来实现微服务之间的互相发现与调用。
2.动态配置服务
3.动态 DNS 服务
4.服务及其元数据管理
Nacos安装部署
1.准备机器(虚拟机/云服务器)
2.安装所需要的软件
2.1安装JDK17
#在虚拟机中直接下载到当前路径下
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
#解压jdk17
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local
#编辑jdk17的配置文件
cd /usr/local/jdk-17.0.11
vim etc/profile
#添加变量到全局中
export JAVA_HOME=/usr/local/jdk-17.0.11
export PATH=$PATH:$JAVA_HOME/bin;
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;#保存,退出
:wq
2.2.查看JDK17是否安装成功
#查看jdk版本号
java -version
3.安装Nacos
3.1安装准备
安装方式
方式1
从官网下载安装包解压到服务器中
方式2
源码
3.2启动
#Linux/Unix/Mac# 启动命令 (standalone 代表着单机模式运行,非集群模式 ):#需要从nacos的安装路径下的bin路径启动sh startup.sh -m standalone#关闭命令sh shutdown.sh -m standalone
#ubuntu 系统bash startup.sh -m standalone
# 3 、 Windows# 启动命令 (standalone 代表着单机模式运行,非集群模式 ):startup.cmd -m standalone
4.Nacos简单使用(将应用注册到Nacos)
4.1 引入起步依赖
4.2 编辑该项目配置文件(配置文件中指明Nacso配置中心的地址)
spring:
cloud:
nacos:
discovery:
#naocs服务器的ip地址及端口号
192.168.10.100:8080
4.3 编写启动类
@Slf4j
//向注册中心注册该服务,并可以获取其他服务的调用地址
@EnableDiscoveryClient
@SpringBootApplication
public class TestNacosApplication(){
public void main(String[] args){
SpringApplication.run(TestNacosApplication.class);
log.info("******测试Nacos注册服务******");
}
}
4.4 访问nacos节点
访问 http://192.168.10.100:8080/nacos 即可进入
5.Nacos主流的配置中心
naco作为服务注册中心。其实它也集成了服务配置的功能,我们可以直接使用它作为服务配置中心。
5.1应用和配置中心间的数据同步
5.1.1 pull模式
5.1.2 push模式
5.1.3 混合模式
5.2分布式配置中心
优点:
1.支持配置文件的动态更新
在实际的业务开发过程中,动态地更新配置文件,比如切换业务功能开关、变更图片服务器地址、变更数据库连接信息等。
2.支持配置集中式管理
3.支持多环境部署
5.2.1命名空间--NameSpace
作用:主要进行多环境下的管理和隔离,还用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。
5.2.2 Data ID配置
// ${prefix} 应用名字
// ${spring.profile.active} 对应环境
// ${file-extension} 文件后缀
${prefix}-${spring.profile.active}.${file-extension}
//当未区分开发,测试,生产环境时
${prefix}.${file-extension}
在新建的命名空间下配置DataID
对应的服务的配置文件
5.2.3分布式配置中心Group分组
当您在 Nacos上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用DEFAULT_GROUP。
6.0分布式配置中心应用-动态刷新
1.引入依赖
//spring-cloud nacos 配置中心服务发现的起步依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.编写配置文件
#启动类上方加上
#服务注册与发现
@EnableDiscoveryClient
#对应的controller加上即可以完成动态刷新
@RefreshScope