SpringCloud Alibaba - Nacos

1.安装与部署

Nacos是阿里巴巴开源的服务注册与发现、配置管理的组件,相当于是Eureka+Config的组合。 Nacos服务器是单独安装部署的,需要下载Nacos服务端程序,下载地址https://github.com/alibaba/nacos。
在这里插入图片描述
在这里插入图片描述
window下双击startup.cmd
在这里插入图片描述登录Nacos,默认账号密码都是nacos
在这里插入图片描述
点击shutdown.cmd可关闭。

在idea中配置nacos服务

细节可直接搜索idea配置nacos
在这里插入图片描述
直接启动
在这里插入图片描述

2.实现服务注册与发现

导入依赖

在这里插入图片描述
子项目中引入依赖,以图书服务为例。
在这里插入图片描述
和注册到Eureka一样,需要配置文件中配置Nacos注册中心的地址
在这里插入图片描述
启动Nacos和bookservice服务,Nacos服务器上已经有book-service服务
在这里插入图片描述
将borrow-service和user-service同样导入依赖,然后配置application.yml。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
启动user-service和borrow-service,查看服务配置。
在这里插入图片描述

使用OpenFeign实现服务发现远程调用以及负载均衡,先在子服务user,book,borrow导入依赖。三个都是同样的依赖。

在这里插入图片描述
编写访问接口
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
重启borrow-service,可以正常访问
在这里插入图片描述
验证Nacos的负载均衡。建立两个book-service和user-service
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
添加完需要将user和book服务配置文件中的port去掉
在这里插入图片描述
bookController打印日志
在这里插入图片描述
在这里插入图片描述
调用,刷新三次
在这里插入图片描述
bookController打印
在这里插入图片描述
在这里插入图片描述

临时和非临时实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例如将borrow-service给关闭,那么nacos服务上就没有borrow-service了,若将borrow-service设置为非临时实例,那么关闭后,nacos服务上还有borrow-service。
将borrow-service设置为非临时实例,更改配置文件。
在这里插入图片描述
重启borrow-service
在这里插入图片描述
此时关闭borrow-service
在这里插入图片描述

3.集群注册与分区

在这里插入图片描述
在这里插入图片描述
将两个user-service和两个book-service分别集群到ChongQing和ChengDu。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时已经有了两个地区的服务,但是目前没有按照区域优先进行调用。
在这里插入图片描述
在borrow-service加入集群地区,如Chengdu
在这里插入图片描述
此时重启borrow-service,然后访问借阅服务,但是仍采用轮询的方式调用book-service,并没有对Chengdu的book-service进行优先调用,因此需要配置。配置后重启borrow-service
在这里插入图片描述
此时一直刷新调用服务,发现优先调用了集群分区为Chengdu的book-service,即配置成功,如下图。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
此时若关闭Chengdu地区的book服务,则会访问Chongqing的book服务。
除了不同区域的实例,同一区域内的多个服务也可以指定优先级。可在Nacos中配置,也可在applicaiton.yml配置。

4.Nacos配置中心

在Nacos中新建配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发布后
在这里插入图片描述
然后在对应的user服务导入依赖
在这里插入图片描述
然后在user服务中添加bootstrap.yml配置文件
在这里插入图片描述
在这里插入图片描述
配置好重启user的两个服务,验证是否能访问数据库。
在这里插入图片描述

Nacos支持热部署

对user-service配置文件进行修改。
在这里插入图片描述
修改后发布,然后在控制层监听是否有新增的配置文件的值
在这里插入图片描述
重启user服务。进行调用
在这里插入图片描述
出现配置的test的值
在这里插入图片描述
再次在Nacos修改test的值并发布
在这里插入图片描述
在这里插入图片描述
此时若不重启user服务再去访问发现test的值还是hot,没有发生改变,此时可添加注解@RefreshScope表示修改配置文件test的值可实施刷新,添加后重启user服务,若test值进行改变,则user服务不需要再重启即可更新test的值。
在这里插入图片描述

6.Nacos命名空间

开发时区分开发环境、生产环境或引用归属类。
新增命名空间
在这里插入图片描述
在这里插入图片描述
然后将book服务和user服务配置到dev空间,修改配置文件
在这里插入图片描述
在这里插入图片描述
重启user和book服务,此时发现borrow服务在public,user和book服务在dev
在这里插入图片描述
在这里插入图片描述
此时访问http://localhost:8201/borrow/1,发现没有找到user-service。说明不在一个命名空间则是隔离的,不能进行访问的。
在这里插入图片描述

7.Nacos实现高可用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新建nacos数据库,将nacos安装文件中conf下的nacos-mysql.sql导入。在这里插入图片描述
给nacos数据添加一个用户,账号密码都是nacos,赋予所有权限。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值