dependencyManagement的作用、nacos的学习

news2024/9/21 19:07:51

使用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.coloradmin.cn/o/1908171.html

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

相关文章

.hmallox勒索病毒:全面防御策略

引言 近年来,随着网络技术的飞速发展,勒索病毒成为网络安全领域的一大威胁,其中.hmallox勒索病毒以其高度的隐蔽性和破坏性,尤为引人注目。这种病毒通过加密用户计算机中的重要文件,并以支付赎金作为解密条件&#xff…

LeetCode——第 405 场周赛

题目 找出加密后的字符串 给你一个字符串 s 和一个整数 k。请你使用以下算法加密字符串: 对于字符串 s 中的每个字符 c,用字符串中 c 后面的第 k 个字符替换 c(以循环方式)。 返回加密后的字符串。 示例 1: 输入&…

docker部署onlyoffice,开启JWT权限校验Token

原来的部署方式 之前的方式是禁用了JWT: docker run -itd -p 8080:80 --name docserver --network host -e JWT_ENABLEDfalse --restartalways onlyoffice/documentserver:8 新的部署方式 参考文档:https://helpcenter.onlyoffice.com/installation/…

【专项刷题】— 位运算

常见类型介绍: & :有 0 就是 0 | :有 1 就是 1 ^ :相同为 0 ,相异为 1 或者 无进位相加给定一个数确定它的二进制位的第x个数是0还是1:将一个数的二进制的第x位改成1:将一个数的二进制的第x…

【Java探索之旅】多态:向上下转型、多态优缺点、构造函数陷阱

文章目录 📑前言一、向上转型和向下转型1.1 向上转型1.2 向下转型 二、多态的优缺点2.1 多态优点2.2 多态缺陷 三、避免避免构造方法中调用重写的方法四、好的习惯🌤️全篇总结 📑前言 在面向对象编程中,向上转型和向下转型是常用…

Redis组建哨兵模式

主172.17.60.131 从172.17.60.130、172.17.60.129 redis部署 [rootlocalhost app]# tar xf redis-6.2.9.tar.gz [rootlocalhost app]# cd redis-6.2.9/ [rootlocalhost redis-6.2.9]# make MALLOClibc [rootlocalhost redis-6.2.9]# make install PREFIX/usr/local/redis…

[ICS] Modbus未授权攻击S7协议漏洞利用

工业控制系统历史 在可编程逻辑控制器(plc)成为标准之前,工厂车间自动化是通过机架和机架的工业继电器,气动柱塞计时器和电磁计数器来控制电机的启动和停止,阀门的打开以及其他与控制相关的过程交互。运行这种设置的控制程序根本不是程序&am…

鲁能巴蜀中学洛谷团队

鲁能巴蜀中学洛谷团队出错了 - 洛谷https://www.luogu.com.cn/team/76926

案例精选 | 聚铭综合日志分析系统为江苏省电子口岸构建高效安全的贸易生态

江苏省电子口岸有限公司,成立于2009年,由江苏省贸促会携手南京海关、江苏检验检疫局及江苏海事局等部门共同出资组建。公司承载着推动江苏乃至长三角地区国际贸易便利化的重大使命,致力于打造一个集先进性、创新性、高效性于一体的电子口岸综…

学习笔记——动态路由——OSPF(认证)

十二、OSPF邻居认证 1、OSPF邻居认证概述 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 OSPF认…

vue3自自定义插件注册全局事件

一. 首先在components中定义自定义组件 二. 然后在components下建立一个index.ts文件 index.ts中的代码如下 // 引入项目中全部的全局组件 import SvgIcon from ./SvgIcon/index.vue import pagination from ./pagination/index.vue // 全局对象 const allGloablComponen…

一文清晰了解HTML——简单实例

想要仿照该页面编写HTML代码&#xff1a; 在vscode中输入&#xff01;自动生成默认模板&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevic…

vite工程化开发配置---持续更新

vite支持tsx开发 根据之前写的文章vue3vitetseslintprettierstylelinthuskylint-stagedcommitlintcommitizencz-git里面tsconfig配置了jsx相关选项&#xff0c;但是想要vite能够识别我们还需要配置一下 安装vitejs/plugin-vue-jsx pnpm i -D vitejs/plugin-vue-jsxvite.confi…

Linux系统编程——线程控制

目录 一&#xff0c;关于线程控制 二&#xff0c;线程创建 2.1 pthread_create函数 2.2 ps命令查看线程信息 三&#xff0c;线程等待 3.1 pthread_join函数 3.2 创建多个线程 3.3 pthread_join第二个参数 四&#xff0c;线程终止 4.1 关于线程终止 4.2 pthread_exit…

为什么KV Cache只需缓存K矩阵和V矩阵,无需缓存Q矩阵?

大家都知道大模型是通过语言序列预测下一个词的概率。假定{ x 1 x_1 x1​&#xff0c; x 2 x_2 x2​&#xff0c; x 3 x_3 x3​&#xff0c;…&#xff0c; x n − 1 x_{n-1} xn−1​}为已知序列&#xff0c;其中 x 1 x_1 x1​&#xff0c; x 2 x_2 x2​&#xff0c; x 3 x_3 x…

MathType7.4.6.8最新免费下载,数学表达神器来袭!

大家好啊&#xff0c;我是爱分享的小能手&#xff01;今天要给大家安利一款神奇的工具——MathType7.4免费版本。这不仅仅是一个简单的数学公式编辑器&#xff0c;而是你学术写作和数学研究的强大助手&#xff0c;简直是数学爱好者的“瑞士军刀”&#xff01; MathType最新mac…

前端面试题17(js快速检索方法详解)

在前端JavaScript中&#xff0c;快速检索数据通常涉及到数组或对象的搜索。这里我会介绍几种常见的快速检索方法&#xff0c;并提供相应的代码示例。 1. 数组的find和findIndex方法 find: 返回数组中满足条件的第一个元素的值。findIndex: 返回数组中满足条件的第一个元素的索…

ASAN排查程序中内存问题使用总结

简介 谷歌有一系列Sanitizer工具&#xff0c;可用于排查程序中内存相关的问题。常用的Sanitizer工具包括&#xff1a; Address Sanitizer&#xff08;ASan&#xff09;&#xff1a;用于检测内存使用错误。Leak Sanitizer&#xff08;LSan&#xff09;&#xff1a;用于检测内存…

2-28 基于matlab提取出频域和时域信号的29个特征

基于matlab提取出频域和时域信号的29个特征&#xff0c;主运行文件feature_extraction&#xff0c;fre_statistical_compute和time_statistical_compute分别提取频域和时域的特征&#xff0c;生成的29个特征保存在生成的feature矩阵中。程序已调通&#xff0c;可直接运行。 2-2…

mp4视频太大怎么压缩不影响画质,mp4文件太大怎么变小且清晰度高

在数字化时代&#xff0c;我们常常面临视频文件过大的问题。尤其是mp4格式的视频&#xff0c;文件大小往往令人望而却步。那么&#xff0c;如何在不影响画质的前提下&#xff0c;有效地压缩mp4视频呢&#xff1f;本文将为您揭秘几种简单实用的压缩技巧。 在分享和存储视频时&am…