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

java八股-SpringCloud微服务-Eureka理论

文章目录

  • SpringCloud架构
  • Eureka流程
  • Nacos和Eureka的区别是?
  • CAP定理
  • Ribbon负载均衡策略
    • 自定义负载均衡策略如何实现?
    • 本章小结

SpringCloud架构

在这里插入图片描述

Eureka流程

  1. 服务提供者向Eureka注册服务信息
  2. 服务消费者向注册中心拉取服务信息
  3. 服务消费者使用负载均衡算法挑出合适的服务提供者
  4. 远程调用服务对应服务提供者的IP,端口

(其中服务提供者需要定期30秒向Eureka注册中心续约服务的IP和端口,如果不续约会自动剔除对应不续约的服务)
在这里插入图片描述
在这里插入图片描述

Nacos和Eureka的区别是?

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

CAP定理

CAP 定理(也称为布鲁尔定理)是分布式系统领域的一个基本原理,它指出在网络分区、一致性和可用性之间只能同时满足其中的两个。CAP 定理中的三个要素如下:

  1. 一致性(Consistency)

    • 在一致性要求下,系统在任何时间点,无论哪个节点,数据都是一致的。当一个写操作完成后,所有后续的读操作都必须读到这个最新的值。强一致性意味着写操作对所有节点都是立即可见的。
  2. 可用性(Availability)

    • 在可用性要求下,系统在任何时间点都能够响应用户的请求。即使某些节点出现故障,系统仍然能够继续提供服务,而不会因为内部节点之间的通信问题而使整个系统不可用。
  3. 分区容错性(Partition tolerance)

    • 分区容错性是指系统能够容忍网络分区,即在网络发生故障时,系统的不同部分仍然能够继续运作。这是分布式系统的一个基本要求,因为在大规模分布式系统中,网络分区是不可避免的。

AP(可用性和分区容错性)

  • AP系统优先保证系统的可用性和分区容错性。在网络分区发生时,AP系统可能会牺牲一致性,允许不同节点的数据暂时不一致,以确保系统的可用性不受影响。这种系统通常在写操作后能够快速响应读操作,即使在网络分区的情况下也能继续提供服务。

CP(一致性和分区容错性)

  • CP系统优先保证系统的一致性和分区容错性。在网络分区发生时,CP系统可能会牺牲可用性,通过阻止某些操作来保证数据的一致性。这意味着在网络分区的情况下,系统可能会变得不可用,直到网络分区问题解决,系统重新达成一致性。

简而言之,AP和CP系统的主要区别在于它们在面对网络分区时如何权衡一致性和可用性。AP系统更倾向于保持系统的可用性,而CP系统更倾向于保持数据的一致性。在实际的分布式系统设计中,开发者需要根据具体的业务需求和场景来选择合适的模型。

Ribbon负载均衡策略

  1. Order-Service向Ribbon发起请求
  2. Ribbon向注册中心拉取请求Request里面UserService
  3. 注册中心Eureka返回服务列表到Ribbon
  4. 通过特定负载均衡算法调用某个服务,比如轮询,随机,权重,按照区域可用策略
    在这里插入图片描述
    轮询就是服务器列表挨个问
    区域可用策略是对某个区域里面的服务器进行论文
    权重策略是根据相应时间来设置权重,响应时间越长,权重小

自定义负载均衡策略如何实现?

在这里插入图片描述

本章小结

在这里插入图片描述

相关文章:

java八股-SpringCloud微服务-Eureka理论

文章目录 SpringCloud架构Eureka流程Nacos和Eureka的区别是?CAP定理Ribbon负载均衡策略自定义负载均衡策略如何实现?本章小结 SpringCloud架构 Eureka流程 服务提供者向Eureka注册服务信息服务消费者向注册中心拉取服务信息服务消费者使用负载均衡算法挑…...

2024信创数据库TOP30之蚂蚁集团OceanBase

数据库作为存储、管理和分析这些数据的关键工具,其地位自然不言而喻。随着信息技术的日新月异,数据库技术也在不断演进,以满足日益复杂多变的市场需求。近日,备受瞩目的“2024信创数据库TOP30”榜单由DBC联合CIW/CIS权威发布&…...

查找redis数据库的路径

Redis 数据库的路径通常由配置文件中的 dir 参数指定 查找 Redis 配置文件: Redis 配置文件通常命名为 redis.conf。您可以在以下位置查找它: /etc/redis/redis.conf(Linux 系统上的常见位置)/usr/local/etc/redis/redis.conf&…...

DrugLLM——利用大规模语言模型通过 Few-Shot 生成生物制药小分子

摘要 小分子由于能够与特定的生物靶点结合并调节其功能,因此在药物发现领域发挥着至关重要的作用。根据美国食品和药物管理局(FDA)过去十年的审批记录,小分子药物占所有获批上市药物的 76%。小分子药物的特点是合成相对容易&…...

【蓝桥杯C/C++】翻转游戏:多种实现与解法解析

博客主页: [小ᶻZ࿆] 本文专栏: 蓝桥杯C/C 文章目录 💯题目💯问题分析解法一:减法法解法二:位运算解法解法三:逻辑非解法解法四:条件运算符解法解法五:数组映射法不同解法的比较…...

【AI系统】核心计算之矩阵乘

核心计算之矩阵乘 AI 模型中往往包含大量的矩阵乘运算,该算子的计算过程表现为较高的内存搬移和计算密度需求,所以矩阵乘的效率是 AI 芯片设计时性能评估的主要参考依据。本文我们一起来看一下矩阵乘运算在 AI 芯片的具体过程,了解它的执行性…...

Vue.js 自定义指令:从零开始创建自己的指令

vue使用directive 前言vue2使用vue3使用 前言 关于使用自定义指令在官网中是这样描述的 vue2:对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。 vue3:自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。 在 Vue.js 中使用自定义指令&#xf…...

策略模式

定义:即定义一系列的算法,算法1,算法2,...,算法n,把他们封装起来,使他们可以相互替换。 优点:使得一个类的行为或者其算法可以在运行时改变,而且使用Context类的人在外部…...

性能优化--CPU微架构

一 指令集架构 Intel X86, ARM v8, RISC-V 是当今广泛使用的指令架构的实例。 大多数现代架构可以归类为基于通用寄存器的加载和存储型架构,在这种架构下,操作数倍明确指定,只能使用夹在和存储指令访问内存。除提供基本的功能之外&#xff0c…...

在 Sanic 框架中实现高效内存缓存的多种方法

在使用 Sanic 框架开发 Web 应用时,我们可以通过内存缓存来提升应用的性能,减少对数据库或其他外部服务的频繁请求。下面提供一些在 Sanic 中实现内存缓存的基本方法。 使用 Python 内置的 functools.lru_cache 如果你的缓存需求比较简单,且…...

Mac 环境变量配置基础教程

MacOS 下一般配置有多个 Shell,如 Bash、ZSH 等,不同的 Shell 其创建 Terminal 时使用的环境变量配置文件也不尽相同,但一般都会读取并执行脚本文件 /etc/profile 来加载系统级环境变量,而用户级别环境变量,一般都会在…...

Qt如何屏蔽工具栏(QToolBar)自动折叠功能

最近发现Qt上工具栏一行放不下的时候,会自动折叠起来。当用户点击展开功能的小三角按钮时,工具栏会展开成多行。这个功能本身没什么问题,但是当工具栏展开的时候,鼠标光标一旦不小心移动到了工具栏外面,这时候&#xf…...

【数据分享】中国统计摘要(1978-2024)

数据介绍 《中国统计摘要(1978 - 2024)》犹如一部浓缩的历史巨著,承载着中国几十年来的发展轨迹与辉煌成就。它是由国家统计局精心编纂的重要资料,为我们全方位地展现了中国在经济、社会、民生等各个领域的深刻变革。 这本统计摘…...

unity运行状态下移动、旋转、缩放控制模型

demo地址:https://download.csdn.net/download/elineSea/90017272 unity2021以上版本用下面的插件 https://download.csdn.net/download/elineSea/90017305...

《 C++ 点滴漫谈 一 》C++ 传奇:起源、演化与发展

摘要 C 是一门兼具高效性与灵活性的编程语言,自上世纪 80 年代诞生以来,已经深刻影响了计算机科学与技术的发展。从 Bjarne Stroustrup 的初步构想到如今遍布各大领域,C 经历了语言规范的不断完善与功能的持续扩展。本文详细回顾了 C 的起源…...

Github客户端工具github-desktop使用教程

文章目录 1.客户端工具的介绍2.客户端工具使用感受3.仓库的创建4.初步尝试5.本地文件和仓库路径5.1原理说明5.2修改文件5.3版本号的说明5.4结合码云解释5.5版本号的查找 6.分支管理6.1分支的引入6.2分支合并6.3创建测试仓库6.4创建测试分支6.5合并分支6.6合并效果查看6.7分支冲…...

自然语言处理:第六十三章 阿里Qwen2 2.5系列

本人项目地址大全:Victor94-king/NLP__ManVictor: CSDN of ManVictor 项目地址: QwenLM/Qwen2.5: Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud. 官网地址: 你好,Qwen2 | Qwen & Qwen2.5: 基础模型大派对&a…...

springboot中设计基于Redisson的分布式锁注解

如何使用AOP设计一个分布式锁注解&#xff1f; 1、在pom.xml中配置依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.3.26</version></dependency><dependenc…...

C++初阶学习第十一弹——list的用法和模拟实现

目录 一、list的使用 二.list的模拟实现 三.总结 一、list的使用 list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一个元素和后一个元素。 常见的list的函数的使用 std::list<int> It {1,…...

共享单车管理系统项目学习实战

前言 Spring Boot Vue前后端分离 前端&#xff1a;Vue&#xff08;CDN&#xff09; Element axios(前后端交互) BaiDuMap ECharts(图表展示) 后端&#xff1a;Spring Boot Spring MVC(Web) MyBatis Plus(数据库) 数据库:MySQL 验证码请求...

AutoDL云平台Jupyter Notebook安全配置指南:从密码保护到端口设置

AutoDL云平台Jupyter Notebook安全配置指南&#xff1a;从密码保护到端口设置 在云计算时代&#xff0c;数据安全已成为开发者不可忽视的核心议题。作为AI开发者和数据科学家的常用工具&#xff0c;Jupyter Notebook在AutoDL等云平台上的安全配置尤为重要。本文将深入探讨如何为…...

毕设代码二手房数据实战:从爬取到可视化的一站式工程实现

最近在帮学弟学妹看计算机专业的毕业设计&#xff0c;发现“二手房数据分析”真是个热门选题。想法都挺好&#xff0c;但一到动手实现&#xff0c;很多人就卡在了数据上&#xff1a;要么网站反爬太严数据抓不下来&#xff0c;要么抓下来的数据乱七八糟没法用&#xff0c;好不容…...

开端支路分布因子原理推导及Matlab程序编写

开端支路分布因子原理推导及matlab程序编写电力系统老司机都懂&#xff0c;支路开断后潮流重新分布的骚操作得靠分布因子。这玩意儿本质上是个灵敏度系数&#xff0c;说白了就是某条线路断了之后&#xff0c;其他线路得帮它扛多少锅。今天咱们直接上手推导&#xff0c;顺手撸个…...

OpenWrt 固件扩容官方指南

[OpenWrt Wiki] Expanding root partition and filesystem OpenWrt针对固件扩容有官方指南&#xff0c;但目前很多网络教程仍然停留在老版本&#xff0c;特此记录。 特点&#xff1a; 1、支持 ext4 和 squashfs 固件格式 2、自动识别根分区和文件系统。 3、利用空闲空间扩…...

扶梯安全开关硬件抽象库:轻量级嵌入式状态识别方案

1. 项目概述EscalatorSwitch 是一个面向自动扶梯安全控制场景的轻量级嵌入式硬件抽象库&#xff0c;其核心定位并非通用IO驱动&#xff0c;而是针对电梯/扶梯行业特有的“扶梯运行状态切换开关”&#xff08;Escalator Switch&#xff09;这一专用机电装置提供标准化、可复用的…...

眼图原理与信号完整性分析技术详解

眼图原理与信号完整性分析技术 1. 眼图基础概念 1.1 眼图定义与形成机制 眼图是通过示波器余辉作用将扫描所得的每个码元波形重叠形成的图形。当使用示波器跨接在接收滤波器输出端&#xff0c;并调整扫描周期与接收码元周期同步时&#xff0c;屏幕上显示的图形因其形似人眼而…...

【2026年小红书春招- 3月25日 -第二题- 互评操作】(题目+思路+JavaC++Python解析+在线测试)

题目内容 现在有 n n n 条$ Plog$ 在首页上排成一列,队尾在下侧,队头在上侧。 用长度为 n n n 的$ 01 $串 s = s 1 , s 2 , … , s n s=s_1,s_2,…,s_n...

34 Python 离群点检测:什么是离群点?为什么要做异常检测?

Python 数据分析入门&#xff1a;什么是离群点&#xff1f;为什么要做异常检测&#xff1f; 在做数据分析时&#xff0c;经常会遇到这样一种情况&#xff1a; 大多数数据都比较集中、变化也比较稳定&#xff0c;但其中总会出现几个“特别奇怪”的值。 比如&#xff1a; 学生成绩…...

Phi-4-Reasoning-Vision惊艳案例:模糊低质图中关键信息增强与可信度评估

Phi-4-Reasoning-Vision惊艳案例&#xff1a;模糊低质图中关键信息增强与可信度评估 1. 专业级多模态推理工具 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具&#xff0c;专为双卡4090环境优化。这个工具严格遵循官方SYSTEM …...

在LubanCat RK3568上跑通YOLOv5:手把手教你用RKNN-Toolkit-lite2部署目标检测模型

在LubanCat RK3568上部署YOLOv5模型的完整实战指南 1. 边缘计算与目标检测的完美结合 当计算机视觉遇上边缘计算&#xff0c;一场效率革命正在发生。想象一下&#xff0c;在工厂流水线上实时检测产品缺陷&#xff0c;在智慧农场中自动识别病虫害&#xff0c;或是在安防场景下即…...