SpringCloud(一)注册中心
注册中心
- eureka
- 服务端
- 客户端
- 负载均衡
- nacos
- 服务端
- 客户端
- nacos分级存储模型
- 配置集群属性
- nacos环境隔离-namespace
- 临时实例和非临时实例
- Eureka和Nacos的异同
- 负载均衡策略
- 饥饿加载
eureka


服务端
- 依赖
<!-- eureka注册中心服务端依赖--><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
- 配置项
server:port: 10086spring:application:name: eurekaservereureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka
- 启动项
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class,args);}
}
客户端
- 依赖
<!-- eureka注册中心客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
- 配置项
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka/
负载均衡
消费者该如何获取服务提供者具体信息?
- 服务提供者启动时向eureka注册自己的信息
- eureka保存这些信息
- 消费者根据服务名称向eureka拉取提供者信息
如果有多个服务提供者,消费者该如何选择
- 服务消费者利用负载均衡算法,从服务列表中挑选一个
消费者如何感知服务提供者健康状态?
- 服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态
- eureka会更新记录服务列表信息,心跳不正常会被剔除
- 消费者就可以拉取到最新的信息
nacos

在项目父依赖文件中引入
<!-- nacos依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope></dependency>
服务端
- 服务端启动:nacos安装目录bin文件夹下,打开命令窗口:startup.cmd -m standalone
- 端口修改:修改nacos安装目录conf中的application.properties中的server.port
客户端
- 引入依赖
<!-- nacos注册中心依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
- 配置项
spring:cloud:#nacos端口配置nacos:server-addr: localhost:8840
nacos分级存储模型
服务->集群->实例
配置集群属性
- 修改服务生产者配置文件
spring:cloud:#nacos端口配置nacos:server-addr: localhost:8840discovery: #集群属性cluster-name: HZ
- 优先访问集群:修改消费者者配置文件,同时修改负载均衡规则为:com.alibaba.cloud.nacos.ribbon.NacosRule
spring:cloud:#nacos端口配置nacos:server-addr: localhost:8840discovery:cluster-name: HZ #集群名称
- 设置负载均衡权重(nacos特有)

nacos环境隔离-namespace
nacos中服务存储和数据存储最外层都是namespace的东西,用来做最外层隔离
概念
- namespace用来做环境隔离
- 每个namespace都有唯一id
- 不同namespace下的服务不可见
实现:
4. 在nacos控制台命名空间中可以创建namespace,用来隔离不同环境
5. 修改消费者的application.yml配置,添加namespace
spring:cloud:nacos:discover:namespace: #命名空间ID
临时实例和非临时实例
spring:cloud:nacos:discover:ephemeral: false # 设置为非临时实例
Eureka和Nacos的异同
同:
- 支持服务注册和拉取
- 支持服务提供者心跳方式做健康监测
异:
- nacos服务端支持主动检测提供者健康状态,临时实例采取心跳模式,非临时实例采取主动检测模式
- Nacos临时实例心跳不正常会被剔除,非临时实例不会
- Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
- Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP模式
负载均衡策略
- 方案一:在客户端启动类中添加
/*修改负载均衡策略写法,方案一,适用于全局*/@Beanpublic IRule randomRule(){return new RandomRule();}
- 方案二:客户端配置项中添加
# 修改负载均衡策略写法,方案二
userservice:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
饥饿加载
# 饥饿加载
ribbon:eager-load:enabled: true # 开启饥饿加载clients:- userservice #指定饥饿加载名称,是数组# - xxxxservice# - xxxxservice# - xxxxservice

相关文章:
SpringCloud(一)注册中心
注册中心eureka服务端客户端负载均衡nacos服务端客户端nacos分级存储模型配置集群属性nacos环境隔离-namespace临时实例和非临时实例Eureka和Nacos的异同负载均衡策略饥饿加载eureka 服务端 依赖 <!-- eureka注册中心服务端依赖--><dependencies><depe…...
centos7环境配置
Python Centos7中自带的python2,如果要是用python3,就需要自己安装了,因为yum源中没有python3,需要下载包进行源码编译安装。 安装步骤 1、安装python3相关依赖包 yum -y install zlib-devel bzip2-devel openssl-devel nc…...
如何解锁华为手机PIN/图案/指纹/人脸锁?
您的手机存储主要数据,因此为您的设备设置安全代码让您高枕无忧。屏幕和生物识别锁可在手机丢失时保护您的手机,并使其在被盗时无法访问。每次您需要密码来解锁手机时,但如果您被锁在密码之外怎么办? 今天的话题将独家帮助华为用…...
物理层基本介绍
corset 0 告诉下行初始带宽是多少 initail DL BWP, 4g 是20M带宽,5G是FR1 如果5G是全带宽的话,手机很快就会没电了。 告诉手机带宽会分布在某一个带宽里面去,将手机的带宽调整就行。 DCI,告诉手机,未来的某一个时刻&a…...
数据库原理及应用期末复习汇总(附某高校期末真题试卷)
文章目录《数据库原理及应用》试题1一、选择题(共35分)二、填空(每空1分,共20分)三、T-SQL综合题(共35分)四、综合应用题(共10分)《数据库原理及应用》试题2一、选择题(共35分)二、填空…...
mummerplot gnuplot 安装(nucmer)
可用ref:https://blog.sciencenet.cn/home.php?modspace&uid2970729&doblog&id1174911 下载稳定老版本gnuplot v4.6.2 mkdir gnuplot && cd gnuplot wget https://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.2/gnuplot-4.6.2.tar…...
怎样做校园外卖配送系统创业?打造一体化服务校园平台如何进行?
在大学校园里,兼职赚钱、勤工俭学、自主创业是一种普遍现象。如今,大学校园在大力支持在校生自主创业。比如用校园外卖配送系统创业,不仅可以丰富校园生活,接触人和事,还可以积累经验。 怎样做校园外卖配送系统平台&am…...
MySQL(三):切分,主从复制,读写分离
文章目录一、切分水平切分垂直切分水平切分策略二、主从复制三、读写分离一、切分 水平切分 水平切分又称为sharding,它是将同一个表中的记录拆分到多个结构相同的表中。当一个表的数据不断增多的时候,sharding是必然的选择,它可以将数据分布到集群的不…...
王道考研——计算机网络(第一章 计算机网络体系结构)
1.0认识计算机网络 在下载电影(不会出现乱序问题)和微信收发消息(比如表情包乱序了)所使用的协议是不同的 1.1-1概念和功能 (1)计算机网络的概念 (2)计算机网络的功能 (…...
ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过
ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过 问题背景 在写一个Vue练手项目时,我使用rulse对表单中用户输入的数据进行校验,但莫名奇妙就发现:当我点击提交表单时,表单中的数据都验证成功了,但是…...
全期望值定理与全方差定理
全期望值定理(law of total expectation)比较熟悉,竟然还有个全方差定理(law of total variance),关于条件期望与条件方差的,总结一下。 1. 全期望值定理 随机变量 XXX 关于另外一个随机变量 …...
股票的最大利润 AcWing (JAVA)
假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖 一次 该股票可能获得的利润是多少? 例如一只股票在某些时间节点的价格为 [9,11,8,5,7,12,16,14]。 如果我们能在价格为 5 的时候买入并在价格为 16 时卖出,则能收获最大的利润 11。…...
Go 语言函数调用参数传递规则
1. 调试环境Go 版本:1.19.3Gdb 版本:12.1CPU 架构:amd64Linux 发行版:Ubuntu 22.04Linux 内核版本:5.15.0-482. 函数调用参数传递规则版本变化在 Go 中函数间进行调用时,主调(caller)…...
二分查找【零神基础精讲】
来源0x3f:https://space.bilibili.com/206214 文章目录二分查找[34. 在排序数组中查找元素的第一个和最后一个位置](https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/)[162. 寻找峰值](https://leetcode.cn/problems/find-p…...
「计算机组成原理」数据的表示和运算(上)
文章目录一、进位计数制1.1 其他进制转十进制1.2 十进制转其他进制1.3 二进制、八进制和十六进制1.3 真值和机器数二、BCD码2.1 8421码2.2 余3码2.3 2421码三、整数的表示和运算3.1 无符号整数3.1.1 无符号整数的表示3.1.2 无符号整数的运算3.2 有符号整数3.2.1 有符号整数的表…...
分层,均质,稀薄燃烧
均质燃烧: 只能使用火花点燃。 即为普通燃烧方式,燃料和空气混合形成一定浓度的可燃混合气(厂家自配),整个燃烧室内混合气的空燃比是相同的,经火花塞点燃燃烧。这种燃烧方式使燃料和空气充分混合,燃料完全燃烧,从而获得大的输出功率。为使混合…...
mybatis-plus小课堂:多表查询【案例篇】(apply 拼接 in SQL,来查询从表某个范围内的数据)
文章目录 引言I 多表查询1.1 多表查询:在mapper.xml 写语句和拼接查询条件1.2 多表关联:Java代码中书写语句和拼接查询条件1.3 案例:左外连接II mybatis-Plus 之 apply 拼接 in SQL2.1 apply源码实现2.2 apply 拼接 in SQLIII 常见问题3.1 Cause: comColumn xxx in where cl…...
HashMap原理详解
一、hashmap简介 hashmap是Java当中一种数据结构,是一个用于存储Key-Value键值对的集合,每一个键值对也叫作Entry。 二、JDK7的HashMap1、JDK7时HashMap的数据结构 1、在JDK7之前,hashmap底层采用数组链表的数据结构来存储数据 2、插入数据采…...
推荐3款远程办公软件
一款好用的远程办公软件能够大大的提高我们的办公效率,在这篇文章中,我们将为您推荐几款常见又好用的远程办公软件,以帮助您能更加高效的远程办公。电脑远程办公软件有很多,本文主要从团队沟通软件、视频会议软件、远程控制软件等…...
计算机中有符号数的表示
文章目录二进制数制十进制二进制位模式基本数据类型无符号数的编码有符号数的编码原码(Sign-Magnitude)反码(Ones Complement)补码(Twos Complement)概念导读编码格式按权展开补码加法扩展一个数字的位表示…...
Spring AI + DeepSeek 实战:5分钟搞定一个能听懂人话的数据库查询工具
Spring AI DeepSeek 实战:5分钟搞定一个能听懂人话的数据库查询工具 在数据驱动的时代,数据库查询是每个开发者绕不开的日常任务。但当你面对产品经理频繁变更的需求,或是运营同事临时提出的数据提取请求时,反复编写和调试SQL语句…...
ZPL文件操作避坑指南:从OPEN到CLOSE的5个常见错误排查
ZPL文件操作避坑指南:从OPEN到CLOSE的5个常见错误排查 在光学设计领域,ZPL宏作为ZEMAX的自动化利器,文件操作是绕不开的核心技能。但当你从教程里的完美示例转向真实项目时,那些被刻意简化的场景往往会暴露出各种"坑"。…...
Nanbeige 4.1-3B专属UI实战:一键部署沉浸式游戏风格聊天应用
Nanbeige 4.1-3B专属UI实战:一键部署沉浸式游戏风格聊天应用 1. 项目概述与核心价值 南北阁(Nanbeige)4.1-3B是一款性能优异的中英双语大语言模型,而今天我们要介绍的是为其量身打造的专属Web交互界面。这个界面最特别之处在于&…...
在 Docker 中,如何实现容器之间的通信?
在 Docker 中,容器之间的通信主要通过 Docker 网络(Docker Networking) 实现。Docker 提供了多种网络驱动和机制,允许容器安全、高效地相互通信。以下是实现容器通信的核心方法和最佳实践:一、核心网络模式 1. Bridge …...
ArcGIS Desktop绘图工具条实战:从基础图形到专业地图注记的进阶指南
1. ArcGIS绘图工具条初探:你的地图设计起点 第一次打开ArcGIS Desktop的绘图工具条时,我就像拿到了一盒全新的彩色铅笔。这个看似简单的工具条,实际上包含了从基础绘图到专业地图注记的全套功能。绘图工具条位于软件界面顶部,右键…...
使用AI大大提升了学习代码的效率
最近看到一个观点,说AI的发展导致代码越来越不值钱了,AI降低了我们学习的门槛,大大提升了学习效率。好像很多程序都可以一个人一天上架一款产品。或许有夸张成分,但像我们普通人都体验到了AI的方便,比如在项目开发的过…...
【LAMMPS实战】从文献到模拟:精准定位与获取ReaxFF反应力场参数文件
1. 初识ReaxFF反应力场:为什么我们需要它? 第一次接触分子动力学模拟时,我完全被各种力场搞晕了。直到遇到需要模拟化学反应的情况,才发现普通的力场根本不够用。这时候ReaxFF反应力场就像救命稻草一样出现了。简单来说࿰…...
小型电动助力播种机【设计说明书+CAD图纸+solidworks三维+STEP+IGS】
小型电动助力播种机是针对传统播种作业效率低、劳动强度大的问题设计的农业机械装置,其核心作用在于通过电动助力系统优化播种流程,实现均匀播种与精准控制。该装置采用模块化设计理念,将动力传输、播种控制与行走机构集成于一体,…...
嵌入式Linux开发必备远程连接工具详解
1. 嵌入式Linux开发常用远程连接工具技术解析1.1 远程连接工具在嵌入式开发中的重要性嵌入式Linux开发过程中,开发人员经常需要远程访问目标设备进行调试、文件传输或系统监控。由于嵌入式设备通常资源有限且缺乏本地交互界面,远程连接工具成为开发流程中…...
多智能体协作四大架构模式:Subagents/Skills/Handoffs/Router完全指南
← 上一篇:AI大模型3月终局:商业化转向、智能体崛起与安全红线 → 下一篇:大模型推理加速2026:从500ms到80ms的完整优化路径 摘要 当单个 AI Agent 无法高效处理复杂任务时,多智能体系统(Multi-Agent Sys…...
