Spring Cloud学习(二)【Eureka注册中心】
文章目录
- Eureka 注册中心
- Eureka 的作用
- 动手实践
- 搭建 EurekaServer
- 服务注册
- 服务发现
- Ribbon 负载均衡
- 负载均衡原理
- IRule 接口(负载均衡策略)
- 饥饿加载
Eureka 注册中心
服务调用出现的问题
- 不能采用硬编码
- 服务消费者该如何获取服务提供者的地址信息?
- 如果有多个服务提供者,消费者该如何选择?
- 消费者如何得知服务提供者的健康状态?
Eureka 的作用
eureka-server(注册中心):用于管理记录所有的微服务,监控心跳
eureka-client:服务消费者与服务提供者都属于eureka-client
- 注册服务信息
- 拉去服务
- 负载均衡
- 远程调用


动手实践

搭建 EurekaServer

<!-- eureka服务端--><dependency> <groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>
编写启动类,添加@EnableEurekaServer注解
server:port: 10086 # 服务端口spring:application:name: eurekaserver # 微服务名称
eureka:client:service-url: # eureka的地址信息 defaultZone: http://127.0.0.1:10086/eureka
服务注册

注册 user-service

<!-- eureka服务端-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
server:port: 8081
spring:application:name: userservice # 微服务名称eureka:client:service-url: # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka
在IDEA本地为一个服务起多个实例的方法


服务发现


orderservice启动类中
/*** 创建 RestTemplate 并注入Spring容器* @return*/
@Bean
@LoadBalanced
public RestTemplate restTemplate(){return new RestTemplate();
}
OrderService.java中
public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);// 2. 利用 RestTemplate 发送http请求,查询用户String url = "http://userservice/user/" + order.getUserId();User user = restTemplate.getForObject(url, User.class);// 封装 user 到 Orderorder.setUser(user);// 4.返回return order;}
启动负载均衡后,当 order 服务调用 user 服务时,eureka 会通过负载均衡策略去调用userservice1与userservice2(user服务启动并注册了多个实例)
总结

Ribbon 负载均衡
负载均衡原理
负载均衡流程

@LoadBalanced 注解: 标记当前 RestTemplate 发起的请求要被 Ribbon 拦截


IRule 接口(负载均衡策略)


通过定义 IRule 实现可以修改负载均衡规则,有两种方式:
-
启动类/配置类中
范围:order-service的所有请求

-
application.yml 中
范围:order-service 访问某个指定的服务(比如此处配置的是 user-service)的请求

饥饿加载
Ribbon 默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长。
而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启饥饿加载:

当有多个饥饿加载的服务对象

总结

相关文章:
Spring Cloud学习(二)【Eureka注册中心】
文章目录 Eureka 注册中心Eureka 的作用 动手实践搭建 EurekaServer服务注册服务发现 Ribbon 负载均衡负载均衡原理IRule 接口(负载均衡策略)饥饿加载 Eureka 注册中心 服务调用出现的问题 不能采用硬编码服务消费者该如何获取服务提供者的地址信息&am…...
数据分析实战 | 线性回归——女性身高与体重数据分析
目录 一、数据集及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 八、模型评价 九、模型调参 十、模型预测 实现回归分析类算法的Python第三方工具包比较常用的有statsmodels、statistics、scikit-learn等&#…...
python回文日期 并输出下一个ABABBABA型回文日期
题目: 输入: 输入包含一个八位整数N,表示日期 对于所有的测评用例,10000101 ≤N≤89991231,保证N是一个合法日期的8位数表示 输出: 输出两行,每行一个八位数。第一行表示下一个回文日期第二…...
Zotero拓展功能之Zotero Style
Zotero Style拓展功能 一、列: 1.简介 首先你必须知道Zotero的基本功能:右键任意一个列的名字,会弹出一个右键菜单,你可以勾选/取消勾选一个列,并且在最后有两个按钮,一个是“列设置”,一个是…...
小程序提交表单之后,清除表单form
构造表单 <form bindsubmit"bindFormSubmit"> <view class"main"><textarea name"textarea" value"{{content}}"></textarea> <button form-type"submit" type"primary" > 提交 &…...
Java程序设计实验5 | Java API应用
*本文是博主对Java各种实验的再整理与详解,除了代码部分和解析部分,一些题目还增加了拓展部分(⭐)。拓展部分不是实验报告中原有的内容,而是博主本人自己的补充,以方便大家额外学习、参考。 (解…...
自媒体项目详述
总体框架 本项目主要着手于获取最新最热新闻资讯,以微服务构架为技术基础搭建校内仅供学生教师使用的校园新媒体app。以文章为主线的核心业务主要分为如下子模块。自媒体模块实现用户创建功能、文章发布功能、素材管理功能。app端用户模块实现文章搜索、文章点赞、…...
客服呼叫中心的语音质检工作
语音质检是呼叫中心运营中必不可缺少的一个环节,呼叫中心语音质检对坐席起着直接监督的作用,也正是这种监督约束推动着客服人员不断提升自身的业务能力。 而客服呼叫中心的质检结果中还蕴藏了大量有价值的信息,可以通过日常的质检工作真正发现…...
深度解密 | 灵脉SAST 3.0最新特性曝光
一、多模智能引擎焕新 2023年6月,灵脉SAST入选国际权威咨询机构Forrester发布的《The Static Application Security Testing Landscape》报告成为全球范围内仅有的两款亚太区SAST代表产品之一。 此次3.0版本重大焕新,灵脉SAST从检测工具的灵魂核心入手…...
NowCode JZ39 数组中出现次数超过一半的数字 简单
题目 - 点击直达 1. JZ39 数组中出现次数超过一半的数字 简单1. 题目详情1. 原题链接2. 题目要求3. 基础框架 2. 解题思路1. 思路分析2. 时间复杂度3. 代码实现 1. JZ39 数组中出现次数超过一半的数字 简单 1. 题目详情 1. 原题链接 NowCode JZ39 数组中出现次数超过一半的数…...
【SA8295P 源码分析 (一)】119 - QNX 中如何在代码中快速配置 TLMM_GPIO 或 PMIC_GPIO 中断 及 中断回调函数
【SA8295P 源码分析】119 - QNX 中如何在代码中快速配置 TLMM_GPIO 或 PMIC_GPIO 中断 及 中断回调函数 一、配置 TLMM GPIO15 中断示例代码二、配置 PMIC2 GPIO1 中断示例代码三、easy_irq 实现源码分析3.1 struct _easy_irq_ctx 结构体内容分析3.2 register_easy_irq_callbac…...
电大搜题:开启智能学习新时代
尊敬的读者朋友们,今天我将向您介绍一款能够让您轻松搜题、高效学习的神奇工具:电大搜题!作为湖北开放大学和广播电视大学的学习者,您一定对于繁重的课业和复杂的试题感到头疼。但是,现在有了电大搜题微信公众号&#…...
19、Flink 的Table API 和 SQL 中的自定义函数及示例(4)
Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...
Vue23-props配置功能
Vue2&3-props配置功能 Vue2-props配置 功能:接收从其他组件传过来的数据,将数据从静态转为动态注意: 同一层组件不能使用props,必须是父组件传子组件的形式。父组件传数据,子组件接收数据。不能什么数据都接收&a…...
怎样使用ovsyunlive在web网页上直接播放rtsp/rtmp视频
业务中需要在网页中直接播放rtsp和rtmp视频,多方比较测试发现ovsyunlive的播放器能直接播放rtsp/rtmp视频,还是非常方便简洁,使用过程如下: 1,Windows系统在github上面下载ovsyunlive绿色包下载解压。 github地址&am…...
MySQL | 查询接口性能调优、编码方式不一致导致索引失效
背景 最近业务反馈,列表查询速度过慢,需要优化。 到正式环境系统去验证,发现没筛选任何条件的情况下,查询需要三十多秒,而筛选了条件之后需要13秒。急需优化。 先说结论:连表用的字段编码方式不一致导致索…...
ASUS华硕灵耀X2 Duo UX481FA(FL,FZ)_UX4000F工厂模式原装出厂Windows10系统
下载链接:https://pan.baidu.com/s/1sRHKBOyc3zu1v0qw4dSASA?pwd7nb0 提取码:7nb0 带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、MyASUS华硕电脑管家等预装程序所需要工具:16G或以上…...
企业安全—三保一评
0x00 前言 本篇主要是讲解三保一评的基础知识,以及对为什么要进行这些内容的原因进行总结。 0x01 整体 1.概述 三保分别是,分保,等保,关保。 分保就是指涉密信息系统的建设使用单位根据分级保护管理办法和有关标准,…...
“深入理解机器学习性能评估指标:TP、TN、FP、FN、精确率、召回率、准确率、F1-score和mAP”
目录 引言 分类标准 示例:癌症检测 1. 精确率(Precision) 2. 召回率(Recall) 3. 准确率(Accuracy) 4. F1-score 5. mAP(均值平均精度) 总结与通俗解释 引言 机器…...
Linux软件包(源码包和二进制包)
Linux下的软件包众多,且几乎都是经 GPL 授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力,只要你愿意,可以随意修改。 GPL,全称 General Public License,中文名称“通…...
数据预处理和超范围值处理步骤 18
1 .数据预处理实验(1)导入数据操作步骤:① 从“源”面板拖入“Excel”节点。② 双击节点,选择待处理的数据文件。③ 从“输出”面板拖入“表格”节点,连接至“Excel”节点,右键运行,查看原始数据…...
辅助医生能力成长与患者个体化治疗方案生成系统(上)
摘要 本文档详细阐述了一套面向基层医疗机构的辅助医生能力成长与患者个体化治疗方案生成系统的设计与实现。系统以“规则驱动为基、数据驱动为翼”为核心思想,通过症状-疾病映射、指南依据匹配、用药禁忌筛查、个体化调整与风险预警等模块,为临床医生提供实时、可解释的决策…...
go get -tool怎么用
go get -tool 是 Go 1.24 版本引入的新功能,用于将工具依赖(tool dependencies)添加到 go.mod 文件中,而不是下载到 go.mod 的 require 部分或单独维护 tools.go 文件。基本用法bash复制# 添加一个工具依赖(例如 golan…...
C3 vs Zig:2026年,谁才是真正能“修复”C语言的救星?
一、C语言的“中年危机”,终被两位“挑战者”打破? 作为编程界的“老大哥”,C语言统治系统级开发数十年,从操作系统内核到嵌入式设备,处处都有它的身影。但不可否认,随着技术迭代,C语言的短板越…...
AI修图师行业落地:教育领域课件插图智能编辑实践
AI修图师行业落地:教育领域课件插图智能编辑实践 1. 引言:当老师遇上AI修图师 想象一下这个场景:一位中学地理老师正在准备下周的《地球公转与四季变化》课件。她找到了一张完美的地球公转示意图,但图片背景是纯白色的ÿ…...
别再死记硬背了!用PyTorch亲手画一画CNN的特征图,秒懂它在‘看’什么
用PyTorch可视化CNN特征图:揭开神经网络的神秘面纱 当你第一次听说卷积神经网络(CNN)能识别猫狗时,是否也好奇过它究竟"看到"了什么?那些抽象的数字矩阵背后,隐藏着怎样的视觉逻辑?今…...
掌握BigImageViewer:自定义图像加载器与工厂模式的完整指南
掌握BigImageViewer:自定义图像加载器与工厂模式的完整指南 【免费下载链接】BigImageViewer Big image viewer supporting pan and zoom, with very little memory usage and full featured image loading choices. Powered by Subsampling Scale Image View, Fres…...
HTML头部元信息必知避坑指南
HTML头部元信息避坑指南元信息基础概念定义与作用:<head>标签内元信息的核心功能(SEO、渲染控制、兼容性等)。常见类型:<meta>、<title>、<link>、<script>等标签的分类说明。字符编码声明必须优先…...
别再纠结无损格式了!手把手教你用Foobar2000搭配ASIO/WASAPI,榨干Windows电脑的HiFi潜力
解锁PC音质天花板:Foobar2000ASIO/WASAPI实战指南 当大多数人还在纠结是否要花大价钱升级音响设备时,Windows电脑其实隐藏着未被发掘的音频潜力。通过正确的软件配置,你的普通PC也能释放出接近专业级音频设备的音质表现。本文将带你深入探索如…...
多平台 AI 聊天客户端 Kelivo 的下载与使用教程
多平台 AI 聊天客户端 Kelivo 的下载与使用教程 关键词:Kelivo下载、AI聊天客户端、LLM客户端、多模型聊天工具、AI客户端推荐、Kelivo教程、AI多供应商工具 前言 最近在折腾本地与多模型 AI 工具时,发现一个体验非常不错的 LLM 客户端——Kelivo。 它最…...
