微服务框架 SpringCloud微服务架构 4 Ribbon 4.3 饥饿加载

news/2024/4/25 14:43:13/文章来源:https://blog.csdn.net/weixin_44226181/article/details/128091203

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

SpringCloud微服务架构

文章目录

      • 微服务框架
      • SpringCloud微服务架构
      • 4 Ribbon
        • 4.3 饥饿加载
          • 4.3.1 饥饿加载
          • 4.3.2 总结

4 Ribbon

4.3 饥饿加载

4.3.1 饥饿加载

之前我们已经通过

在这里插入图片描述

的方式修改了负载均衡的策略,简单实现了 随机调用

在这里插入图片描述

【现在我们来看个问题】

先重启一下order 服务

在这里插入图片描述

OK

现在来发送一次请求

在这里插入图片描述

第一次耗时345 ms

同样的请求,再发一次

在这里插入图片描述

可以看到,这次来到了14ms,哇,这个区别有点大

【原因】

Ribbon默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长【之后就不会了,因为服务列表会被缓存】。

而饥饿加载则会在项目启动时创建【“饥不择食”】,降低第一次访问的耗时,通过下面配置开启饥饿加载:

设置为true

ribbon:eager-load:enabled: true # 开启饥饿加载clients: userservice # 指定对userservice这个服务饥饿加载

在这里插入图片描述

OK,直接重启服务

在这里插入图片描述

其实从日志都能够看到,这两个服务已经上来了

访问测试【第一次】

在这里插入图片描述

可以看到确实简短了一些,但是还是好长…

【原因】在服务调用时,还会完成一些别的事情

在这里插入图片描述

比如这个东西

OK, 这就是对饥饿加载的大致介绍

在这里插入图片描述

4.3.2 总结
  1. Ribbon负载均衡规则

    • 规则接口是IRule
    • 默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询
  2. 负载均衡自定义方式

    • 代码方式:配置灵活,但修改时需要重新打包发布
    • 配置方式:直观,方便,无需重新打包发布,但是无法做全局配置
  3. 饥饿加载

    • 开启饥饿加载
    • 指定饥饿加载的微服务名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38841.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【毕业设计】深度学习车辆颜色识别检测系统 - python opencv YOLOv5

文章目录1 前言2 实现效果3 CNN卷积神经网络4 Yolov55 数据集处理及模型训练6 最后1 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设…

ATJ2157ATJ2127音乐按文件名拼音排序---标案是按内码进行排序

音乐按文件名拼音进行排序参考网站ATJ2157&ATJ2127 排序是按照内码(汉字为GBK即GBK936)排序的按拼音排序unicode与拼音的对比表(U2P.DAT),需要打包到固件中U2P.DAT数据结构U2P.DAT生成代码是使用DEV-C生成其他说明U2P.DAT与ATJ2127平台代码参考网站 各种字符对…

activiti-api

activiti-api目录概述需求:设计思路实现思路分析1.VariableEvent2.EmptyResult3.BPMNElement4.BPMNError5.ConnectorAbstractSecurityManager参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

Mac下安装Hadoop

1、引言 如果想在Mac下安装Hadoop而且让Hadoop能正常运行,那安装之前需要先安装java,在Mac环境下安装Hadoop。 2、配置ssh环境 在Mac下如果想使用Hadoop,必须要配置ssh环境, 如果不执行这一步,后面启动hadoop时会出现…

PyCharm+PyQT5之三界面与逻辑的分离

之二的例程已经实现了界面与逻辑的分离,所建立的 Dialog Mainwindow 或者 widgets 等,界面改变其主调程序(暂且这样叫)更改,或者不需要大规模更改, 主调函数的程序是这样的 import sys import FistUI from PyQt5.QtWidgets import QApplication, QMainWindow,QDialog if __nam…

解决 Android WebView 多进程导致App崩溃

应用场景 应用内有两个位置用到WebView加载页面,具体处理逻辑不能通用。分别扩展了WebView了。应用内独立页面使用Fragment来展示,(采用单Activity架构)。应用提供切换语言功能。 问题猜想 一、WebView内核bug 具体路径: 进入app–>设…

cmake使用

1. cmake概述及例子 CMake快速入门 cmake、qmake、cl之间关系 1.1 各种cmake cmake根据CMakeLists.txt生成makefile,make根据makefile行编译。 1.1.1 最简cmake:生成可执行程序(一个文件) #CMakeLists.txt cmake_minimum_req…

debug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因

文章目录debug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因概述调试备注ENDdebug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因 概述 正在给板子写出厂测试程序, 买的12864型号是JLX12864C. STC官方给的例程是并行通讯, 好使. 但是想在测试程序中改为…

[附源码]计算机毕业设计springboot基于Java的日用品在线电商平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

mybatis的xml中<trim>标签的用法

文章目录1. 前言2. 先说结论3. 验证1. 情况一2. 情况二3. 情况三4. 情况四5. 验证prefixOverrides去掉的是trim内原sql内容1. 前言 在工作中离不开跟数据库打交道,目前流行的固然是mybatis,在xml中写sql的时候,可能会出现下面情况&#xff1a…

CAS:1516551-46-4,BCN-琥珀酰亚胺酯,BCN-NHS点击试剂供应

一:产品描述 1、名称: BCN-NHS BCN-活性酯 BCN-NHS 酯 丙烷环辛炔-活性酯 BCN-琥珀酰亚胺酯 BCN-succinimidylester 2、CAS编号:1516551-46-4 3、质量控制:95% 4、分子量:291.30 5、分子式:C15H…

Windows本地安装Redis且设置服务自启

redis中文网:http://redis.cn/ 如果是安装Windows版的redis需要去GitHub上下载安装包 如果是在Linux上安装,可以直接使用命令进行安装 本次教程是基于Windows系统进行的 GitHub地址:https://github.com/microsoftarchive/redis 选择需要下…

基于神经网络彩色图像插值研究-附Matlab程序

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、色彩过滤阵列CFA✳️ 三、BP网络结构✳️ 四、神经网络彩色图像插值实验验证✳️ 五、参考文献✳️ 六、Matlab程序获取与验证✳️ 一、引言 彩色图像插值是通过估算相邻像素来估计缺失的颜色分量的过程,数字相机通过色彩过滤…

[附源码]Python计算机毕业设计Django大学生创新项目管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

你知道吗?小程序组件≠小程序插件

一直以为小程序组件和小程序插件是一回事,只是措辞不一样,导致造成乌龙,其实完全是两回事,插件是可以直接提供服务的,组件是给开发者提供的轮子,不能直接提供服务。 先看看微信是如何定义小程序插件的&…

Quartz深度实战

概述 Java语言中最正统的任务调度框架,几乎是首选。后来和Spring Schedule平分秋色;再后来会被一些轻量级的分布式任务调度平台,如XXL-Job取代。另外近几年Quartz的维护和发布几乎停滞,但这并不意味着Quartz被淘汰,还…

【SVM时序预测】基于matlab鲸鱼算法优化支持向量机SVM时序数据预测【含Matlab源码 2250期】

⛄一、鲸鱼算法优化支持向量机SVM 1 鲸鱼优化算法 WOA是由Mirjalili和Lewis在2016年提出的一种较为新颖的元启发式群体智能优化算法,该算法模仿座头鲸的“螺旋气泡网”捕食策略,如图1所示。 图1 座头鲸“螺旋起泡网”捕食策略 WOA算法寻优步骤如下。 步…

【在线研讨会】12月12日Softing工业物联网解决方案 助力工业4.0

本次研讨会设有抽奖环节,并有精美礼品相送! 一 会议介绍 水平和垂直通信一体化是工业4.0背后的核心原则之一,实现这一点需要标准化通信接口,这些接口能够促进各种组件的相互连接并传输同步数据流。本次研讨会将提供解决方案将过程…

《联邦学习实战—杨强》之使用Python从零开始实现一个简单的横向联邦学习模型

文章目录前言环境准备完整代码配置文件(conf.json)获取数据集(datasets.py)获取PyTorch中自带深度学习网络预训练模型(models.py)客户端(client.py)服务端(server.py)main.py运行知识点补充argparse基本用法tensor.copy_()[Python dict() 函数](https://www.runoob.com/python/…

域自适应——Bidirectional Learning for Domain Adaptation of Semantic Segmentation

论文题目:Bidirectional Learning for Domain Adaptation of Semantic Segmentation 本文的域位移是针对虚拟数据和真实数据之间的。 本文的贡献是: 提出了一种语义分割的双向学习系统 ,其是一个学习分割适应模型和图像翻译模型的闭环学习系…