SpringCloudAlibaba技术----01 服务注册与发现 Nacos

Nacos服务注册与发现

一、Nacos的作用(Eureka同等作用)

Nacos是Alibaba开源的作为配置中心服务发现的中间件。
  用于发现、配置和管理微服务,一个更易于构建云原生应用的动态服务发现、配置管理、服务元数据及流量管理平台。
  Nacos从官方的介绍上看,就像是SpringCloud中Eureka+Config+Bus+Git+MQ的一个结合体,但也不能完全这样理解。

二、Nacos的下载使用

  1. 去GitHub下载Nacos: Nacos在GitHub的地址
  2. 安装Nacos
    ① 解压Nacos
    ② 文件解压以后进入nacos文件夹,找到bin文件目录,找到startup.cmd双击运行
    ③ 如果界面出现Nacos的标志,并且没有报错,那就说明Nacos启动成功
    ④ 访问:http://localhost:8848/nacos(默认的登录账户和密码都是nacos)
    ⑤ 如果能出现Nacos后台管理界面,就安装运行成功

三、如何配置nacos持久化

修改application.properties文件(在nacos文件中),增加支持mysql数据源配置
① 增加db mysql连接配置

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password

② Nacos控制台新增修改配置文件内容,包括mysql、redis等连接
③ Redis的密码修改是一次性的,重启redis密码还原为空

四.Spring中使用Nacos的三大步骤?

① 添加依赖:

<dependency>
	<groupId>com.alibaba.nacos</groupId>
	<artifactId>nacos-spring-context</artifactId>
	<version>0.3.4</version>
</dependency>

② 添加 @EnableNacosConfig 注解启用 Nacos Spring 的配置管理服务。
以下示例中,我们使用 @NacosPropertySource 加载了 dataId 为 example 的配置源,并开启自动更新:

@Configuration 
@EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "127.0.0.1:8848")) 
@NacosPropertySource(dataId = "example", autoRefreshed = true) 
public class NacosConfiguration { }

③ 通过 Spring 的 @Value 注解设置属性值。
注意:需要同时有 Setter方法才能在配置变更的时候自动更新。

五.Nacos三大应用场景?

① 数据库连接信息,有效的密码管理,开发不触碰到密码配置,运维人员和架构团队统一管理避免泄露;
Ⅰ.添加依赖

<dependency>
	<groupId>com.alibaba.boot</groupId>
	<artifactId>nacos-config-spring-boot-starter</artifactId>
	<version>${latest.version}</version>
</dependency>

Ⅱ.在 application.yml 中添加 本地Nacos 连接配置

nacos: 
   config: 
		server-addr: 127.0.0.1:8848

在实际生产中,还需配置 Nacos 命名空间信息(区分环境)、鉴权信息(如 AccessKey、SecretKey 等,即将支持的权限访问控制)。
Ⅲ.添加 @NacosPropertySource(dataId = “mysql.properties”) 注解

Ⅳ.在本地启动的 Nacos 控制台上新增 dataId 为 mysql.properties 的配置,配置内容为 MySQL 连接配置信息:
MySQL 连接配置信息

② 限流阈值和降级开关
实现运行时的动态调整阈值和开关的启停
③ 流量的动态调度
业务发展到一定规模,单一的集群无法承载全部的用户请求,需要将用户的流量分流到不同的集群上,不同的集群位于不同的区域,这样,除了缓解业务处理的压力,也给系统带来容灾的能力。
做这个流量秒级分流从区域A到另外区域集群上,就用到nacos,能做到秒级推送到十万级别机器上的推送效率。

六.分布式配置中心(程序代码获取nacos配置文件数据)

程序类中通过@Value(“${配置在nacos配置文件的名称}”),获取配置文件的值
程序类中:
在这里插入图片描述

nacos配置文件中:
在这里插入图片描述

程序resources的配置文件中:(默认会访问application name的nocos配置文件名,另外的nacos配置文件用shared-dataids来指明)
在这里插入图片描述

POM文件中:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值