dependencyManagement的作用、nacos的学习

使用SpringCloudAlibaba注意各组件的版本适配

SpringCloudAlibaba已经包含了适配的各组件(nacos、MQ等)的版本号,也是一个版本仲裁者,但是可能已经有了父项目Spring-Boot-Starter-Parent这个版本仲裁者,又不能加多个父项目,可以使用,

可以使用dependencyManagement来添加版本仲裁者

下面是固定格式,只有版本号可以变

type和scope不能少

dependencyManagement只是添加了一个版本仲裁者,当前项目没有添加SpringCloudAlibaba进来,子项目也并不会继承这个依赖,子项目要添加依赖必须要显示的声明,添加SpringCloudAlibaba里面的组件nacos、MQ等,不用声明版本号了

而dependencies中的依赖,子项目会直接继承

Spring-Boot-Starter-Parent这个版本仲裁者也可以放到dependencyManagement当中

因为公司实际开发中都有自己的一个maven项目给我们继承,这样就留出了继承父maven项目的地方


每一个微服务,会有一个定时任务,定时发送心跳到注册中心

还会有一个定时任务,定时拉取其他服务列表,缓存到当前服务中(当前服务就可以看成一个客户端,调用的另一个服务,可以看成服务器)。

每一个微服务也是一个客户端


如何搭建nacos?

在windows上下载nacos可执行文件

或者在linux中用docker拉取nacos镜像

并启动。

可以在nacos的配置文件中设置访问nacos的账号、密码、或者修改其他默认配置

然后在springboot项目中导入nacos的依赖


nacos集群,就是为了防止一个nacos服务坏了,所以会有多台nacos服务,也叫nacos集群。

这种多台服务的都会有一个主节点,多个从节点,主从架构

如何注册到nacos服务中心

        肯定要提供 服务名称,而服务的ip和端口,不用提供,nacos能够自己获取到

命名空间可以根据不同的项目去划分,也可以根据一个项目的不同开发环境去划分,都可以,只是起到一个服务隔离的作用(分组的作用也是一样的)

注册到nacos服务中心的默认是 临时实例


如何进行nacos服务调用

之前服务调用的方式(调用stock-service库存服务,需要知道库存服务的ip+端口号)

利用服务发现的方式后,将ip+端口号 改成 库存服务的名称即可(注册到nacos服务中的名称为stock-service)

因为要调用nacos服务的时候,中间必须要使用负载均衡器,所以在RestTepmlate上要加上@LoadBalanced注解

需要利用负载均衡器,去帮我们把 服务名称 解析成 ip地址+端口号 

负载均衡器默认是采用轮询的方式去调用服务 实例

nacos默认采用的就是ribbon的负载均衡技术

权重:结合负载均衡器ribbon使用,分配一个权重

订阅者列表可以查看服务 的访问记录


nacos各个配置项的含义

配置服务名称,通过上面配置了,下面也可以不写了,默认采用上面的名称



如何搭建nacos集群

准备工作

1. 在三台服务器上安装nacos,或者在本地安装三次nacos

2.修改nacos中的配置文件

设置远程(或者本地)mysql的访问ip和账号密码

这里的ip是三台服务器上nacos的实际访问ip地址+端口

3.在mysql数据库中,建一个名为nacos的数据库,将这个文件里的sql建表语句执行一遍

4.修改启动脚本中的参数(防止服务器内存不足,因为默认参数比较大)

5.在三台服务器上分别启动nacos。



搭建好了后,如何访问nacos集群?

能直接改nacos服务地址吗?不能,有多个nacos服务,如果改成其中一个nacos的地址,还是单节点nacos的模式。

如何设置集群的名称,默认就DEFAULT

我们需要通过访问nginx,然后通过nginx帮我们转发

下载在某台服务器上下载nginx后,修改里面的配置文件,通过nginx反向代理的方式,去访问nacos集群

如果访问了这台电脑(公网ip192.168.56.220)的8847端口,并且后面加了/nacos/,例如地址是http://192.168.56.220:8847/nacos,

就会反向代理 到上面三个ip地址+端口号中的其中一个(默认是轮询)

把上面三个ip地址+端口中的一个,拿下来 代替 nacoscluster 这个字符串 的位置

注意:因为nginx和上面三个nacos(集群)都部署在了远程服务器192.168.56.220上,所以对于

nginx监听的地址就是本地ip 127.0.0.1,对于反向代理,转发到的地址也是本地ip 127.0.0.1

使用docker部署nacos集群,上面的有些步骤更加简单。具体步骤搜索网上教程

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

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

相关文章

6、Redis系统-数据结构-06-跳表

六、跳表(Skiplist) 跳表是一种高效的动态数据结构,可以用于实现有序集合(Sorted Set,Zset)。与平衡树相比,跳表具有实现简单、效率高的优点,因此被 Redis 选用作为有序集合的底层数…

阶段三:项目开发---搭建项目前后端系统基础架构:任务13:实现基本的登录功能

任务描述 任务名称: 实现基本的登录功能 知识点: 了解前端Vue项目的基本执行过程 重 点: 构建项目的基本登陆功能 内 容: 通过实现项目的基本登录功能,来了解前端Vue项目的基本执行过程,并完成基…

如何让代码兼容 Python 2 和 Python 3?Future 库助你一臂之力

目录 01Future 是什么? 为什么选择 Future? 安装与配置 02Future 的基本用法 1、兼容 print 函数 2、兼容整数除法 3、兼容 Unicode 字符串 03Future 的高级功能 1. 处理字符串与字节 2. 统一异常处理…

移动校园(7)ii:uniapp路由响应拦截器处理token,以及微信小程序报错当前页面正在处于跳转状态,请稍后再进行跳转....

依据昨天的写完,在token过期之后,再次调用接口,会触发后端拦截,扔进全局错误处理中间件 前端说明提示都没有,只有一个这个,现在优化一下,再写一个类似全局后置守卫,当状态码是401的时…

增强安全防护,解读智慧校园系统的登录日志功能

在构建智慧校园系统时,登录日志功能扮演着不可或缺的角色,它不仅是系统安全的守护者,也是提升管理效率和确保合规性的有力工具。这一机制详细记录每次登录尝试的方方面面,涵盖了时间戳、用户身份、登录来源的IP地址乃至使用的设备…

phpcms 升级php8.3.8

windows 2008 server 不支持php8.3.8,需升级为windows 2012 1.下载php8.3.8 PHP8.3.9 For Windows: Binaries and sources Releases 2.配置php.ini (1.)在php目录下找到php.ini-development文件,把它复制一份,改名为php.ini (2.)修改php安装目录 根…

C++模板元编程(二)——完美转发

完美转发指的是函数模板可以将自己的参数“完美”地转发给内部调用的其它函数。所谓完美,即不仅能准确地转发参数的值,还能保证被转发参数的左、右值属性不变。 文章目录 场景旧的方法新的方法内部实现参考文献 场景 思考下面的代码: templ…

专业140+总分420+天津大学815信号与系统考研经验天大电子信息与通信工程,真题,大纲,参考书。

顺利上岸天津大学,专业课815信号与系统140,总分420,总结一些自己的复习经历,希望对于报考天大的同学有些许帮助,少走弯路,顺利上岸。专业课: 815信号与系统:指定教材吴大正&#xf…

2-26 基于matlab开发的制冷循环模型

基于matlab开发的制冷循环模型。Simscape两相流域中的制冷循环模型,在simulink中完成多循环温度控制。程序已调通,可直接运行。 2-26 制冷循环模型 Simscape两相流域 - 小红书 (xiaohongshu.com)

Arduino ESP8266 开发环境搭建

Arduino ESP8266 开发环境搭建 很久之前学嵌入式时,用过Arduino8266进行开发,开发成本低、难度小,体验很不错。 近期,又突然要用,遂再次搭建环境,但变动挺多,有些小波折,开贴记录。…

高考志愿填报千万要注意这四点

在高考志愿填报过程中,确实有很多需要留心的点。我为你总结了四个关键点,希望能帮助你顺利完成志愿填报: 1、学校提供的支持 学校作为学生志愿填报咨询服务的主阵地,应提供体系化和制度化的支持。包括及时关注并传达政策动向和相…

行内元素、块级元素居中

行内元素居中 水平居中 {text-align&#xff1a;center;}垂直居中 单行——行高等于盒子高度 <head><style>.father {width: 400px;height: 200px;/* 行高等于盒子高度&#xff1a;line-height: 200px; */line-height: 200px;background-color: pink;}.son {}&…

如何做好IT类的技术面试?

我们在找工作时&#xff0c;需要结合自己的现状&#xff0c;针对意向企业做好充分准备。作为程序员&#xff0c;你有哪些面试IT技术岗的技巧&#xff1f; 方向一&#xff1a;分享你面试IT公司的小技巧 我分享一些基于广泛观察和用户反馈的面试IT公司的小技巧&#xff1a; 技术准…

孟德尔随机化-痛风

写在前面 昨天看到文献&#xff0c;称饮酒与痛风无关联&#xff0c;甚是疑惑&#xff0c;今天刚好看了一篇新文献&#xff0c;虽然不是主要讲饮酒与痛风的&#xff0c;但也有牵扯到这方面内容&#xff0c;而且是相反的内容&#xff0c;特记录一下。 孟德尔随机化-受教育程度与…

vuepress创建步骤

背景 记录vuepress配置步骤&#xff0c;以便下次使用快速上手。 读此文章之前默认您已经学会了创建vuepress项目。vuepres快速开始 最终成品 doc.jeecgflow.com 配置步骤 创建.vuepress 目录。 你的文档目录下创建一个 .vuepress 目录。 创建.vuepress/config.js module.e…

Mac窗口辅助管理工具:Magnet for mac激活版

magnet mac版是一款运行在苹果电脑上的一款优秀的窗口大小控制工具&#xff0c;拖拽窗口到屏幕边缘可以自动半屏&#xff0c;全屏或者四分之一屏幕&#xff0c;还可以设定快捷键完成分屏。这款专业的窗口管理工具当您每次将内容从一个应用移动到另一应用时&#xff0c;当您需要…

注意力机制 attention Transformer 笔记

动手学深度学习 这里写自定义目录标题 注意力加性注意力缩放点积注意力多头注意力自注意力自注意力缩放点积注意力&#xff1a;案例Transformer 注意力 注意力汇聚的输出为值的加权和 查询的长度为q&#xff0c;键的长度为k&#xff0c;值的长度为v。 q ∈ 1 q , k ∈ 1 k …

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第54课-poplang语音编程控制机器人

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第54课-poplang语音编程控制机器人 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的…

SQL 对一个经常有数据更新和删除操作的表,怎样优化以减少磁盘空间的占用?

文章目录 一、定期清理不再需要的数据二、使用合适的数据类型三、压缩数据四、删除重复数据五、分区表六、索引优化七、碎片整理八、归档历史数据九、监控和评估 在数据库管理中&#xff0c;当面对一个经常进行数据更新和删除操作的表时&#xff0c;磁盘空间的有效利用是一个重…

Pogo-DroneCANPWM模块:可实现DroneCAN转PWM,DroneCAN转dshot,DroneCAN转bdshot

关键词&#xff1a;Ardupilot&#xff0c;Pixhawk&#xff0c;PWM&#xff0c;dshot&#xff0c;bdshot&#xff0c;DroneCANPWM&#xff0c;电调ESC&#xff0c;DroneCAN&#xff0c;UAVCAN&#xff0c;飞控&#xff0c;无人机&#xff0c;UAV Keywords&#xff1a;Ardupilot…