当前位置: 首页 > news >正文

SpringCloud(一)注册中心

注册中心

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

eureka

在这里插入图片描述
在这里插入图片描述

服务端

  1. 依赖
<!--        eureka注册中心服务端依赖--><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
  1. 配置项
server:port: 10086spring:application:name: eurekaservereureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka
  1. 启动项
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class,args);}
}

客户端

  1. 依赖
<!--        eureka注册中心客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
  1. 配置项
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka/

负载均衡

消费者该如何获取服务提供者具体信息?

  1. 服务提供者启动时向eureka注册自己的信息
  2. eureka保存这些信息
  3. 消费者根据服务名称向eureka拉取提供者信息

如果有多个服务提供者,消费者该如何选择

  1. 服务消费者利用负载均衡算法,从服务列表中挑选一个

消费者如何感知服务提供者健康状态?

  1. 服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态
  2. eureka会更新记录服务列表信息,心跳不正常会被剔除
  3. 消费者就可以拉取到最新的信息

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>

服务端

  1. 服务端启动:nacos安装目录bin文件夹下,打开命令窗口:startup.cmd -m standalone
  2. 端口修改:修改nacos安装目录conf中的application.properties中的server.port

客户端

  1. 引入依赖
        <!--        nacos注册中心依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
  1. 配置项
spring:cloud:#nacos端口配置nacos:server-addr: localhost:8840

nacos分级存储模型

服务->集群->实例

配置集群属性

  1. 修改服务生产者配置文件
spring:cloud:#nacos端口配置nacos:server-addr: localhost:8840discovery: #集群属性cluster-name: HZ
  1. 优先访问集群:修改消费者者配置文件,同时修改负载均衡规则为:com.alibaba.cloud.nacos.ribbon.NacosRule
spring:cloud:#nacos端口配置nacos:server-addr: localhost:8840discovery:cluster-name: HZ #集群名称
  1. 设置负载均衡权重(nacos特有)

在这里插入图片描述

nacos环境隔离-namespace

nacos中服务存储和数据存储最外层都是namespace的东西,用来做最外层隔离
概念

  1. namespace用来做环境隔离
  2. 每个namespace都有唯一id
  3. 不同namespace下的服务不可见

实现:
4. 在nacos控制台命名空间中可以创建namespace,用来隔离不同环境
5. 修改消费者的application.yml配置,添加namespace

spring:cloud:nacos:discover:namespace: #命名空间ID

临时实例和非临时实例

spring:cloud:nacos:discover:ephemeral: false # 设置为非临时实例

Eureka和Nacos的异同

同:

  1. 支持服务注册和拉取
  2. 支持服务提供者心跳方式做健康监测

异:

  1. nacos服务端支持主动检测提供者健康状态,临时实例采取心跳模式,非临时实例采取主动检测模式
  2. Nacos临时实例心跳不正常会被剔除,非临时实例不会
  3. Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
  4. Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP模式

负载均衡策略

  1. 方案一:在客户端启动类中添加
/*修改负载均衡策略写法,方案一,适用于全局*/@Beanpublic IRule randomRule(){return new RandomRule();}
  1. 方案二:客户端配置项中添加
#      修改负载均衡策略写法,方案二
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&#xff0c;如果要是用python3&#xff0c;就需要自己安装了&#xff0c;因为yum源中没有python3&#xff0c;需要下载包进行源码编译安装。 安装步骤 1、安装python3相关依赖包 yum -y install zlib-devel bzip2-devel openssl-devel nc…...

如何解锁华为手机PIN/图案/指纹/人脸锁?

您的手机存储主要数据&#xff0c;因此为您的设备设置安全代码让您高枕无忧。屏幕和生物识别锁可在手机丢失时保护您的手机&#xff0c;并使其在被盗时无法访问。每次您需要密码来解锁手机时&#xff0c;但如果您被锁在密码之外怎么办&#xff1f; 今天的话题将独家帮助华为用…...

物理层基本介绍

corset 0 告诉下行初始带宽是多少 initail DL BWP, 4g 是20M带宽&#xff0c;5G是FR1 如果5G是全带宽的话&#xff0c;手机很快就会没电了。 告诉手机带宽会分布在某一个带宽里面去&#xff0c;将手机的带宽调整就行。 DCI&#xff0c;告诉手机&#xff0c;未来的某一个时刻&a…...

数据库原理及应用期末复习汇总(附某高校期末真题试卷)

文章目录《数据库原理及应用》试题1一、选择题&#xff08;共35分&#xff09;二、填空&#xff08;每空1分&#xff0c;共20分&#xff09;三、T-SQL综合题(共35分)四、综合应用题(共10分)《数据库原理及应用》试题2一、选择题&#xff08;共35分&#xff09;二、填空&#xf…...

mummerplot gnuplot 安装(nucmer)

可用ref&#xff1a;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…...

怎样做校园外卖配送系统创业?打造一体化服务校园平台如何进行?

在大学校园里&#xff0c;兼职赚钱、勤工俭学、自主创业是一种普遍现象。如今&#xff0c;大学校园在大力支持在校生自主创业。比如用校园外卖配送系统创业&#xff0c;不仅可以丰富校园生活&#xff0c;接触人和事&#xff0c;还可以积累经验。 怎样做校园外卖配送系统平台&am…...

MySQL(三):切分,主从复制,读写分离

文章目录一、切分水平切分垂直切分水平切分策略二、主从复制三、读写分离一、切分 水平切分 水平切分又称为sharding,它是将同一个表中的记录拆分到多个结构相同的表中。当一个表的数据不断增多的时候&#xff0c;sharding是必然的选择&#xff0c;它可以将数据分布到集群的不…...

王道考研——计算机网络(第一章 计算机网络体系结构)

1.0认识计算机网络 在下载电影&#xff08;不会出现乱序问题&#xff09;和微信收发消息&#xff08;比如表情包乱序了&#xff09;所使用的协议是不同的 1.1-1概念和功能 &#xff08;1&#xff09;计算机网络的概念 &#xff08;2&#xff09;计算机网络的功能 &#xff08;…...

ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过

ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过 问题背景 在写一个Vue练手项目时&#xff0c;我使用rulse对表单中用户输入的数据进行校验&#xff0c;但莫名奇妙就发现&#xff1a;当我点击提交表单时&#xff0c;表单中的数据都验证成功了&#xff0c;但是…...

全期望值定理与全方差定理

全期望值定理&#xff08;law of total expectation&#xff09;比较熟悉&#xff0c;竟然还有个全方差定理&#xff08;law of total variance&#xff09;&#xff0c;关于条件期望与条件方差的&#xff0c;总结一下。 1. 全期望值定理 随机变量 XXX 关于另外一个随机变量 …...

股票的最大利润 AcWing (JAVA)

假设把某股票的价格按照时间先后顺序存储在数组中&#xff0c;请问买卖 一次 该股票可能获得的利润是多少&#xff1f; 例如一只股票在某些时间节点的价格为 [9,11,8,5,7,12,16,14]。 如果我们能在价格为 5 的时候买入并在价格为 16 时卖出&#xff0c;则能收获最大的利润 11。…...

Go 语言函数调用参数传递规则

1. 调试环境Go 版本&#xff1a;1.19.3Gdb 版本&#xff1a;12.1CPU 架构&#xff1a;amd64Linux 发行版&#xff1a;Ubuntu 22.04Linux 内核版本&#xff1a;5.15.0-482. 函数调用参数传递规则版本变化在 Go 中函数间进行调用时&#xff0c;主调&#xff08;caller&#xff09…...

二分查找【零神基础精讲】

来源0x3f&#xff1a;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 有符号整数的表…...

分层,均质,稀薄燃烧

均质燃烧&#xff1a; 只能使用火花点燃。 即为普通燃烧方式,燃料和空气混合形成一定浓度的可燃混合气&#xff08;厂家自配&#xff09;,整个燃烧室内混合气的空燃比是相同的,经火花塞点燃燃烧。这种燃烧方式使燃料和空气充分混合,燃料完全燃烧,从而获得大的输出功率。为使混合…...

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当中一种数据结构&#xff0c;是一个用于存储Key-Value键值对的集合&#xff0c;每一个键值对也叫作Entry。 二、JDK7的HashMap1、JDK7时HashMap的数据结构 1、在JDK7之前&#xff0c;hashmap底层采用数组链表的数据结构来存储数据 2、插入数据采…...

推荐3款远程办公软件

一款好用的远程办公软件能够大大的提高我们的办公效率&#xff0c;在这篇文章中&#xff0c;我们将为您推荐几款常见又好用的远程办公软件&#xff0c;以帮助您能更加高效的远程办公。电脑远程办公软件有很多&#xff0c;本文主要从团队沟通软件、视频会议软件、远程控制软件等…...

计算机中有符号数的表示

文章目录二进制数制十进制二进制位模式基本数据类型无符号数的编码有符号数的编码原码&#xff08;Sign-Magnitude&#xff09;反码&#xff08;Ones Complement&#xff09;补码&#xff08;Twos Complement&#xff09;概念导读编码格式按权展开补码加法扩展一个数字的位表示…...

VisualGGPK2:《流放之路》MOD制作的高效解决方案

VisualGGPK2&#xff1a;《流放之路》MOD制作的高效解决方案 【免费下载链接】VisualGGPK2 Library for Content.ggpk of PathOfExile (Rewrite of libggpk) 项目地址: https://gitcode.com/gh_mirrors/vi/VisualGGPK2 你是否曾因复杂的资源提取流程而放弃MOD创作&#…...

OWL ADVENTURE与Git协作:AI视觉项目的版本管理与团队开发实践

OWL ADVENTURE与Git协作&#xff1a;AI视觉项目的版本管理与团队开发实践 做AI视觉项目&#xff0c;尤其是用OWL ADVENTURE这类框架时&#xff0c;最头疼的往往不是模型调参&#xff0c;而是项目本身的管理。你有没有遇到过这种情况&#xff1a;同事改了一个配置文件&#xff…...

7.系统配置与性能评价

一、系统配置与性能评价 &#xfeff;00:00 1. 考情分析 &#xfeff;00:12 考查频率&#xff1a;本章节在历年真题中偶尔出现&#xff0c;非每年必考分值占比&#xff1a;若考查则占1-2分&#xff0c;分值较低内容稳定性&#xff1a;与旧版教材内容基本一致&#xff0c;无实质…...

MedGemma 1.5开源医疗模型:本地化部署满足等保2.0三级与GDPR双合规要求

MedGemma 1.5开源医疗模型&#xff1a;本地化部署满足等保2.0三级与GDPR双合规要求 1. 项目概述与核心价值 MedGemma 1.5是基于Google Gemma架构开发的医疗专用AI模型&#xff0c;专门针对医学问答、病理分析和术语解释场景优化。这个4B参数规模的模型经过PubMed、MedQA等专业…...

谷歌DeepMind与卡内基梅隆大学揭秘声音背后的脸

这项由谷歌DeepMind与卡内基梅隆大学联合开展的研究&#xff0c;发表于2024年的计算机视觉与模式识别顶级会议CVPR&#xff08;IEEE/CVF Conference on Computer Vision and Pattern Recognition&#xff09;&#xff0c;论文编号为arXiv:2404.01975&#xff0c;有兴趣深入了解…...

3步搞定!Jable视频下载终极指南:免费Chrome插件+本地工具完整教程

3步搞定&#xff01;Jable视频下载终极指南&#xff1a;免费Chrome插件本地工具完整教程 【免费下载链接】jable-download 方便下载jable的小工具 项目地址: https://gitcode.com/gh_mirrors/ja/jable-download Jable视频下载工具是一款专为普通用户设计的免费开源解决方…...

深入解析Cache工作原理与多核一致性机制

深入理解Cache工作原理与技术实现1. 计算机体系中的Cache基础1.1 Cache存在的必要性现代计算机系统中&#xff0c;处理器性能与存储器访问性能之间存在显著差距。从历史发展数据来看&#xff0c;CPU计算性能每18个月翻一番&#xff08;遵循摩尔定律&#xff09;&#xff0c;而D…...

量子行走:从理论到Python实现——量子力学原理与Qubit物理

目录 2. 量子力学原理与Qubit物理 2.1 量子比特的物理实现 2.1.1 双能级系统建模 2.1.2 布洛赫球表示与可视化 2.2 叠加与纠缠现象 2.2.1 量子叠加原理 2.2.2 量子纠缠理论 2.3 量子测量与退相干 2.3.1 测量公设的实现 2.3.2 噪声与退相干机制 2. 量子力学原理与Qubi…...

5个核心功能提升音频处理效率:AsrTools语音转文字工具用户指南

5个核心功能提升音频处理效率&#xff1a;AsrTools语音转文字工具用户指南 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into a…...

三节点zookeeper集群搭建

1、环境准备 1.1、 设置三台虚拟机主机名# 在node1执行 sudo hostnamectl set-hostname node1 # 在node2执行 sudo hostnamectl set-hostname node2 # 在node3执行 sudo hostnamectl set-hostname node31.2、修改hosts# 使用vim编辑hosts文件 sudo vim /etc/hosts # 添加以下内…...