当前位置: 首页 > 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;概念导读编码格式按权展开补码加法扩展一个数字的位表示…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...