SpringCloud Alibaba - Nacos

news2024/11/22 21:53:17

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,赋予所有权限。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux的Redis集群搭建-主从集群哨兵模式

上次教大家在linux中安装单机版本的redis: Linux安装Redis(图文解说详细版) 这次我们讲一下Linux安装redis的集群版本 文章目录 🌴准备redis环境🌴第一步,下载redis🌴第二步,传输到…

PCIE研究-2

PCIe是一种高速串行总线,用于连接计算机内部的各种设备。在PCIe中,有四种不同的设备类型:Switch、Bridge、Root Complex和EndPoint。本篇文章将介绍这四种设备类型的基础知识。 1. Switch Switch是PCIe中最常见的设备类型之一,它…

【LeetCode热题100】--11.盛最多水的容器

11.盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 **说明:*…

【线下培训】上海临港: RT-Thread × 瑞萨 工业监视器 RA6M3 HMI Board解决方案

注册RT-Thread官方论坛,即可第一时间获得最新消息!更有大量活动赚取积分,免费兑换开发板! 注册地址:https://www.rt-thread.org/account/user/register.html RT-Thread 与瑞萨将于10月14日在上海临港举行一场线下培训…

java_web的框架分析

文章目录 本阶段技术体系用项目理解原理controllersClassPathXmlApplicationContextDispatcherServletFruitServiceImplFilter 本阶段技术体系 用项目理解原理 项目的目录 首先设置一个参数,这里里面用反射机制,获取方法的时候如果不设置会获取到arg[0…

AI绘画关键词:小龙女

a lady dressed in a white gown stand beside a dragon, in the style of peter gric, traditional essence, kazuki takamatsu, andreas rocha, life-like avian illustrations, serene faces, aurorapunk,3D --ar 9:16 --s 250 --v 5.2

浅述数据中心供配电系统解决方案及产品选型

安科瑞 华楠 【摘 要】现如今,社会主要领域已从对单个设备的关注转化为对于系统解决方案的关注,数据中心的供应商们也想尽办法去满足所面对的各方面需求。基于此,主要提出了云计算数据中心供配电解决方案,同时还对数据中心供配电…

中小型教育机构这样做,让你轻松抓住受众注意力

教育一直都是家长对于孩子最关心的事情,对于部分家庭来说,教育支出占整个家庭支出的50%左右。 而软文作为目前效果比较明显而且性价高的推广方式,也很适合教育培训行业,因为它能让潜在客户可以清楚地了解产品的特性,感…

乐观善良的属马人,这几年的运势怎么样?

生肖马的人是一个乐观向上,拥有对生活的热情态度,更是个实打实过日子的人, 品性善良,对朋友尽心尽力,在朋友的面前没有丝毫的不真诚, 且乐于助人,因此朋友多,贵人也多。 属马人精力充…

LED智能家居灯 开关调光 台灯落地灯控制驱动 降压恒流IC AP5191

产品描述 AP5191是一款PWM工作模式,高效率、外围简单、内置功率MOS管,适用于4.5-150V输入的高精度降压LED恒流驱动芯片。输出最大功率150W,最大电流6A。AP5191可实现线性调光和PWM调光,线性调光脚有效电压范围0.55-2.6V.AP5191 工作频率可以…

热烈祝贺金伯帆集团成功入选航天系统采购供应商库

经过航天系统采购平台的严审,上海金伯帆信息科技集团有限公司成功入选中国航天系统采购供应商库。航天系统采购平台是航天系统内企业采购专用平台,服务航天全球范围千亿采购需求,目前,已有华为、三一重工、格力电器、科大讯飞等企…

景联文科技:数据供应商在新一轮AI热潮中的重要性

景联文科技是AI基础行业的头部数据供应商,可协助人工智能企业解决整个人工智能链条中数据标注环节的相对应问题。 随着全球新一轮AI热潮来袭,大量训练数据已成为推动AI算法模型进步和演化的不可或缺的重要因素。数据的质量和数量直接影响了模型训练和性能…

C++QT 作业8

#include "mywind.h" #include "ui_mywind.h" #include <iostream> #include <QIcon> #include <QLabel> #include <QLineEdit> #include <QDebug>//信息调试类 用于输出数据 Mywind::Mywind(QWidget *parent): QWidget(pa…

Sectigo https证书

Sectigo&#xff08;前身为ComodoCA&#xff09;是全球在线安全解决方案提供商和全球最大的证书颁发机构。Sectigo为全球超过300万客户提供服务&#xff0c;并稳居SSL市场份额榜首。 其成功建立在两个关键要素之上&#xff1a;灵活的SSL产品范围和实惠的价格。Sectigo是第一家…

测试域: 流量回放-介绍篇

建设背景 测试人员回归耗时长&#xff0c;成本大。公司很多测试都进行手工测试&#xff0c;在集成测试中需要耗费一周时间进行全量测试&#xff0c;在各个环境(用户测试环境和预发布环境)回归测试时需要耗费三天左右。加上编写测试用例时间&#xff0c;理解需求时间等其他&…

学习vue3源码

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 1. 为什么要学习源码 阅读优秀的代码的目的是让我们能够写出优秀的代码 不给自己设限&#xff0c;不要让你周围人…

C++——模板,template

函数模板 我们经常会遇到一种情况&#xff1a;用相同的方法处理不同的数据。对于是函数&#xff0c;我们可以用函数重载来解决。虽然重载可以解决这种情况&#xff0c;但还是很繁琐。如果函数重载10次&#xff0c;有一天你突然发现有新的需求&#xff0c;函数需要修改&#xf…

Linux CentOS7 tree命令

tree就是树&#xff0c;是文件或文件名输出到控制台的一种显示形式。 tree命令作用&#xff1a;以树状图列出目录的内容&#xff0c;包括文件、子目录及子目录中的文件和目录等。 我们使用ll命令显示只能显示一个层级的普通文件和目录的名称。而使用tree则可以树的形式将指定…

管理类联考——数学——汇总篇——知识点突破——代数——等比数列——性质

下标和定理 在等比数列中&#xff0c;若 m &#xff0b; n p q ( m &#xff0c; n &#xff0c; p &#xff0c; q ∈ N &#xff0b; ) m&#xff0b;npq(m&#xff0c;n&#xff0c;p&#xff0c;q∈N_&#xff0b;) m&#xff0b;npq(m&#xff0c;n&#xff0c;p&#x…

面经学习三

目录 Java 与 C 的区别 面向对象和面向过程的区别 面向对象特性 Java的基本数据类型 深拷贝和浅拷贝 Java创建对象的几种方式 final, finally, finalize 的区别 Java 与 C 的区别 Java 是纯粹的面向对象语言&#xff0c;所有的对象都继承自 java.lang.Object&#xff0c…