SpringCloud系列(一)Eureka 注册中心

news2024/11/24 5:06:24

本文主要介绍 Eureka 用来做什么? 如何搭建以及测试;
微服务框架区分于普通的单体架构项目,它是一种经过良好架构设计的分布式架构方案,根据业务功能对系统进行拆分,将每个业务模块都当做是一个独立的项目进行开发,相比较于单体架构方案当然是好处多多,如扩展性比较好,有更低的耦合度,但是如何去远程调用某一个接口或者是功能呢?
某个服务,既可以是提供者(暴露接口给其他微服务调用),也可以是消费者(调用其他微服务提供的接口),那么消费者如何获取服务提供者的具体信息呢?如果有多个服务提供者,消费者该如何选择呢?消费者又是如何感知服务提供者的健康状态呢?这时候 Eureka 的作用就展现出来了!!!

Eureka

  • ❤ Eureka 的作用及角色
  • ❤ ❤搭建 EurekaServer

❤ Eureka 的作用及角色

  • 作用一:帮助消费者获取服务提供者的具体信息,服务提供者启动的同时向 Eureka 注册自己的信息并将这些信息保存下来,消费者根据服务名称想 Eureka 拉取提供者信息;
  • 作用二: 帮助消费者选择服务提供者,当有多个服务提供者时,消费者利用负载均衡算法从服务列表中挑选一个;
  • 作用三:帮助消费者感知服务提供者的健康状态,服务提供者每隔 30 秒就会向 EurekaServer 发送心跳请求,报告健康状态;Eureka 会更新记录服务列表信息,如果发现心跳不正常立马进行剔除,这时候消费者就能够拉取到最新的消息了。

在 Eureka 架构中,主要有两种角色:

  • EurekaServer 作为服务端主要用来记录服务信息以及健康状况的检测;
  • EurekaClient 作为客户端主要分为服务的提供者及服务的消费者,服务提供者(Provider)将自己的信息注册到 EurekaServer 中,每隔 30 秒就会向 EurekaServer 发送心跳信息;服务消费者(Consumer)主要根据服务名称从 EurekaServer 拉取服务列表,基于服务列表做负载均衡,选中一个微服务后发起远程调用。

总体流程如下图所示:
在这里插入图片描述

❤ ❤搭建 EurekaServer

第一步:创建 EurekaServer 包,pom.xml 中引入 spring-cloud-starter-netflix-eureka-server 依赖;

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

第二步:EurekaServer 启动类中添加 @EnableEurekaServer 注解;
在这里插入图片描述
第三步:在 application.yml 中配置 EurekaServer;
在这里插入图片描述
第四步:服务注册,如注册 provider-service 注册到 EurekaServer 中;

  • 在 provider-service 项目中引入 spring-cloud-starter-netflix-eureka-client 依赖;在这里插入图片描述
  • 编写 provider-service 的配置文件;
    在这里插入图片描述

第五步:服务发现

  • 在 consumer-service 项目中引入 spring-cloud-starter-netflix-eureka-client 依赖;
    在这里插入图片描述

  • 编写 provider-service 的配置文件;
    在这里插入图片描述

  • 给 RestTemplate 添加 @LoadBalanced 注解;
    在这里插入图片描述
    到此为止,整体的搭建及服务的注册和发现就完成了,可以根据自己的项目需求进行测试了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

session共享问题及四种解决方案-前端存储、session的复制 、session粘性、后端存储(Mysql、Redis等)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a; 才疏学浅的木子 &#x1f647;‍♂️ 本人也在学习阶段如若发现问题&#xff0c;请告知非常感谢 &#x1f647;‍♂️ &#x1f4d2; 本文来自专栏&#xff1a; 常用工具类以及常见问题处理方法 &#x1f308; 每日一语&…

Alos PALSAR 12.5米免费DEM下载教程

Alos PALSAR 12.5米免费DEM下载教程ALOS 12.5米数据简介2. 下载2.1 搜索数据2.2 下载数据3. 使用数据ALOS 12.5米数据简介 ALOS 12.5m DEM 数据&#xff0c;是使用ALOS&#xff08;Advanced Land Observing Satellite&#xff09;卫星相控阵型L波段合成孔径雷达&#xff08;PA…

SpringBoot + EasyExcel 实现表格数据导入

1. 准备 导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version><scope>compile</scope> </dependency><dependency><groupId>org.proj…

使用vi、vim、sed、echo、cat操作文件

记录&#xff1a;324 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;使用vi编辑器、vim编辑器、sed编辑器操作文件读、写、删、替换等操作&#xff1b;使用echo命令和cat命令将内容输出文件并查看内容。 版本&#xff1a; 操作系统&#xff1a;CentOS 7.9 1.vi编辑器…

同花顺_代码解析_技术指标_R

本文通过对同花顺中现成代码进行解析&#xff0c;用以了解同花顺相关策略设计的思想 目录 RAD RADER RCCD ROC ROCFS RSI RSIFS RAD 威力雷达 大盘指标。 RAD的判断基准法与传统指标相似: 白线上穿黄线为金叉,示强势,为买入建仓机会参考&#xff1b; 白线下穿黄线为…

红黑树的插入(C++实现)

1. 红黑树 1.1 概念 红黑树是一种二叉搜索树&#xff0c;它是AVL树的优化版本。红黑树是每个节点都带有颜色属性的二叉搜索树&#xff0c;颜色为红色或黑色。 之所以选择“红色”是因为这是作者在帕罗奥多研究中心公司Xerox PARC工作时用彩色雷射列印机可以产生的最好看的颜色…

Java学习之包访问修饰符

基本介绍 java 提供四种访问控制修饰符号&#xff0c;用于控制方法和属性(成员变量)的访问权限&#xff08;范围&#xff09; 公开级别:用 public 修饰,对外公开受保护级别:用 protected 修饰,对子类和同一个包中的类公开默认级别:没有修饰符号,向同一个包的类公开.私有级别:…

采用sFlow工具实现流量监控--实验

采用sFlow工具实现流量监控--实验采用sFlow工具实现流量监控---实验学习目标学习内容实验原理实验拓扑实验仿真启动sFlow-rt以及floodlight控制器创建拓扑部署sFlow agent步骤1.步骤2.步骤3步骤4步骤5.步骤6.总结申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&…

C++模拟OpenGL库——图形学状态机接口封装(一):用状态模式重构部分代码及接口定义

目录 什么是状态机&#xff1f; 基于状态机模式进行重构 Canvas.h源码 什么是状态机&#xff1f; 回顾之前两部分内容&#xff0c;我们做了&#xff1a; 绘制点绘制线&#xff08;Brensenham&#xff09;绘制三角形&#xff08;拆分法&#xff09;图片操作&#xff08;stb…

RabbitMQ------延迟队列(整合SpringBoot以及使用延迟插件实现真正延时)(七)

RabbitMQ------延迟队列&#xff08;七&#xff09; 延迟队列 延迟队列&#xff0c;内部是有序的&#xff0c;特点&#xff1a;延时属性。 简单讲&#xff1a;延时队列是用来存放需要在指定时间被处理的元素队列。 是基于死信队列的消息过期场景。 适用场景 1.订单在十分钟…

Linux(centos7)安装MySQL5.7

Linux 安装MySQL5.7 数据库 所有的安装方式是基于手动式的安装&#xff0c;也就是整体的下载然后配置 rpm与yum之间的关系 rpm 是Linux 免除编译安装带来的安装方式&#xff0c;而yum 是在rpm 上面的进一步的优化&#xff0c;换句话说yum 既包含了rpm 的简单安装&#xff0c…

百度地图自定义覆盖物(html)格式

<style type"text/css"> body, html{ width: 100%; height: 100%; overflow: hidden; margin: 0; font-family: "微软雅黑"; display: flex; justify-content: space-between; } #cont…

使用html+css实现一个静态页面(厦门旅游网站制作6个页面) 旅游网页设计制作 HTML5期末考核大作业,网站——美丽家乡。 学生旅行 游玩 主题住宿网页

&#x1f468;‍&#x1f393;静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计&#x1f469;‍&#x1f393;&#xff0c;一般的网页作业需要融入以下知识点&#xff1a;div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

FL Studio2023水果完整中文版音乐制作软件

FL Studio2023水果中文版是一款由 Image Line 公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件。它让你的计算机就像是全功能的录音室&#xff0c;漂亮的大混音盘&#xff0c;先进的创作工具&#xff0c;让你的音乐突破想象力的限制。它可以播放由你指定或加入的…

IP包头分析

数据来源 IP包头长度 ip包头的长度在20-60个字节间&#xff0c;一般是20字节&#xff08;固定部分&#xff09;&#xff0c;可选项最大是40个字节&#xff08;比较少用&#xff09;。 第一行 版本 就是指出IP数据包是什么版本&#xff1b;常见的版本就是0100 IPV4和 0110 IPV6…

机器学习中基本符号表示和常用术语

目录一. 基本符号表示二. 常用术语1. 精准率计算&#xff08;precision&#xff09;2.召回率计算&#xff08;recall&#xff09;3.准确率的计算&#xff08;accuracy&#xff09;4.F1 Score5. G分数6.一. 基本符号表示 TP &#xff08;true positive&#xff09;&#xff1a;预…

【Python】基础语法(安装,常变量,类型,注释,运算符)

目录python环境搭建安装Python安装pycharmpython基础语法常量和表达式变量和数据类型变量数据类型注释输入输出运算符算术运算符关系运算符逻辑运算符赋值运算符xdm,最近更新一些学习Python基础知识的内容,感谢支持!python环境搭建 俗话说工欲善其事必先利其器,要想学习Python开…

新知实验室TRTC初体验

小记 一次偶然的邂逅,让我知道了TRTC实时音视频这个神奇的东西,于是便开始研究起来这个鬼东西,本以为是一个很简单的东西,调用一下SDK就完事了 , 谁知道它的文档并不是很齐全,这一点还需要多多努力啊!!! 正文 实时音视频&#xff08;TRTC&#xff09; 是腾讯云提供的一套低…

现代对称密码

乘积密码 因为语言特性&#xff0c;用代替和置换是不安全的&#xff0c;可以考虑用多次的加密增强密码强度。多次加密想要提高密码强度&#xff0c;要求多次加密不能成为一个群&#xff0c;那么加密就可以被重复并且组合复杂度会增加。 分组密码 分组密码就是把明文分组后进…

Linux进阶-Shell编程与环境变量

目录 定义变量&#xff1a; 使用变量&#xff1a; 将命令的结果赋值给变量&#xff1a; 删除变量&#xff1a;unset 退出当前进程&#xff1a;exit 读取从键盘输入的数据 &#xff1a;read 对整数进行数字运算&#xff1a;(()) 逻辑与或&#xff1a; 检测某个条件是否成…