什么是SpringCloud Eureka服务注册与发现

😀前言
本篇博文是关于SpringCloud Eureka 介绍,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

  • SpringCloud Eureka 服务注册与发现
    • Eureka 介绍
      • 学Eureka 前的说明
      • 当前项目架构问题分析-引出Eureka
        • 架构分析示意图
        • 对问题分析
      • 引入Eureka 项目架构
        • 架构剖析图
        • 解读
      • 服务治理介绍
        • Eureka 实现服务治理
      • 服务注册和发现
    • 😄总结

SpringCloud Eureka 服务注册与发现

Eureka 介绍

学Eureka 前的说明

1、Spring Cloud 组件选型- 图

image-20230827072440525

2、从上图可以看出, 目前主流的服务注册&发现的组件是Nacos, 但是Eureka 作为一个老牌经典的服务注册&发现技术还是有必要学习一下, 原因

(1) 一些早期的分布式微服务项目使用的是Eureka, 小伙伴在工作中, 完全有可能遇到这种情况.

(2) 后期的服务注册&发现组件/技术, 都参考了Eureka 设计和理念, 学习了Eureka 后, 我们上手Nacos 容易很多,而且理解的更深刻.

当前项目架构问题分析-引出Eureka

架构分析示意图

image-20230827072619259

对问题分析

1.在企业级项目中,服务消费访问请求会存在高并发

2.如果只有一个会员中心-提供服务,可用性差

3.所以,会员中心提供服务往往是一个集群,也就是说会有多个会员中心-提供服务微服务模块

4.那么这个时候,就存在一个问题就是服务消费方,怎么去发现可以使用的服务

5.当服务消费方,发现了可以使用的服务后(可能是多个,又存在一个问题就是到底调用A服务,还是B 服务的问题,这就引出了服务注册和负载均衡)

6.Eureka 就可以解决上述问题

引入Eureka 项目架构

架构剖析图

image-20230827072728430

解读

  1. 会员中心-提供服务的,在项目中,会做成集群,提供高可用。
  2. Eureka Server 有必要的话,也可以做成集群。
  3. Eureka 包含两个组件∶Eureka Server 和Eureka Client。
  4. Eureka Server 提供注册服务, 各个微服务节点通过配置启动后,会在Eureka Server 中进行注册,这样EurekaServer 中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。
  5. EurekaClient 通过注册中心进行访问, 是一个Java 客户端,用于简化Eureka Server 的交互,客户端同时也具备一个内置的、使用轮询(round-robin) 负载算法的负载均衡器。在应用启动后,将会向Eureka Server 发送心跳(默认周期为30 秒)。如果Eureka Server 在多个心跳周期内没有接收到某个节点的心跳,EurekaServer 将会从服务注册表中把这个服务节点移除(默认90 秒)。

服务治理介绍

Eureka 实现服务治理

在传统的rpc 远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理困难,所以需要治理服务之间依赖关系。

服务治理实现服务调用、负载均衡、容错等,实现服务发现与注册。

感兴趣的可以看看分布式开发: https://jingyan.baidu.com/article/46650658def479f549e5f83e.html

服务注册和发现

image-20230827073433199

😄总结

  1. Eureka采用了CS[client-server-java基础我们讲过一个多人聊天项目]的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。

  2. 系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接,通过Eureka Server 来监控系统中各个微服务是否正常运行。

  3. 在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息比如服务地址通讯地址等以别名方式注册到注册中心上。

  4. 服务消费者或者服务提供者,以服务别名的方式去注册中心上获取到实际的服务提供者通讯地址,然后通过RPC调用服务。

😁热门专栏推荐
Spring Cloud–从零开始搭建微服务基础环境
带你了解SpringBoot—开启Durid 监控
SpringBoot—内置Tomcat 配置和切换

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

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

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

相关文章

CS420 课程笔记 P4 - 以16进制形态编辑游戏文件

文章目录 IntroductionFinding save filesStringsUnicodeExample!Value searchHealth searchConclusion Introduction 这节课我们将学习编辑十六进制,主要用于编辑保存文件,但十六进制编辑涉及的技能可以很好地转移到: Save file editingRe…

【go-zero】使用自带Redis方法

yaml配置文件 RedisS:Host: Type: Pass: config增加 RedisS struct {Host stringType stringPass string}svc文件 type * struct {RedisClient *redis.Redis } func *(c config.Config) * {sqlConn : sqlx.NewMysql(c.DB.DataSource)return &*{RedisClient: redis.New(c…

linux配置网络的几种常用方法

linux配置ip地址有多种不同的方法,大家可以根据自己的需要来使用不同的方法配置ip地址。 方法一 ifconfig命令 使用 ifconfig 命令配置 IP 地址ifconfig 命令用于查看和配置网络接口, 可以使用该命令为网络接口配置 IP 地址。假设需要配置 eth0 网卡的…

Flutter实现CombineExecutor进行多个异步分组监听,监听第一个异步执行的开始和最后一个异步执行结束时机。

1.场景 我们在调用接口时,很多时候会同时调用多个接口,接口都是异步执行,我们很难知道调用的多个接口哪个会最后执行完成,我们有时候需要对最后一个接口执行完成的时机监听,所以基于该需求,设计了CombineE…

Shell 运算符及语法结构

目录 一、Shell运算符 1.1 表达式expr 1.2 运算操作 1.3 操作实例 二、Shell条件判断 2.1 基本语法 2.2 值、权限、类型、多条件判断 三、Shell流程控制 3.1 if 流程语法 3.2 case 流程语法 3.3 for 流程语法 3.4 内部运算符 3.5 while循环流程语法 四、Shell读…

TOOLLLM: FACILITATING LARGE LANGUAGE MODELS TO MASTER 16000+ REAL-WORLD APIS

本文是LLM系列的文章之一,针对《TOOLLLM: FACILITATING LARGE LANGUAGE MODELS TO MASTER 16000 REAL-WORLD APIS》的翻译。 TOOLLLMs:让大模型掌握16000的真实世界APIs 摘要1 引言2 数据集构建3 实验4 相关工作5 结论 摘要 尽管开源大型语言模型&…

前端图形图像的框架

前端图形图像方面有许多强大的框架和库,使得开发者能够更容易地创建丰富的视觉效果和复杂的图形应用。下面列举了一些主要的框架和库: 1. Three.js Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了相…

如何将两个pdf合并成一个?pdf合并技巧分享

在日常工作过程当中,我们经常需要处理一些文件,而文件的处理往往是琐碎的,想要提高工作效率,需要选择一些合适的方法,并掌握一定的技巧,那么,如何将两个pdf合并成一个?pdf合并技巧有哪些呢?接…

java实现状态模式

状态模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为。在状态模式中,对象将其行为委托给表示不同状态的状态对象,这些状态对象负责管理其行为。以下是在 Java 中实现状态模式的一般步骤: 创建一个状态接口&#xff…

AFG EDI 解决方案

AFG一直是汽车行业出境物流的专家,不仅运输汽车,同时也提供模块化IT解决方案,用于接收、控制、互联以及整个车辆调度过程的可视化和监控。 对于物流行业而言,如果已经确定了供应链整合的目标,但却没有明确的计划及足够…

【线上问题】很抱歉,如果没有 JavaScript 支持,将不能正常工作

目录 一、问题说明二、解决方式 一、问题说明 1.修改了nginx的配置 2.postman调用接口正常,浏览器访问接口200,但无数据 3.浏览器访问,nginx没有访问记录,接口请求到不了应用服务 4.原因不祥 二、解决方式 1.清理了浏览器缓存

mac下配置JDK环境

一、下载安装 下载地址:Java Downloads | Oracle,选择适用于Mac OS的JDK版本,点击下载即可。 下载完之后,直接安装: 安装过程非常简单,按“继续”按钮一直下一步即可。 二、配置环境变量 上一步骤&#x…

c++线程

pthread(部分内容来自菜鸟教程) 创建线程 创建一个 POSIX 线程&#xff1a; #include <pthread.h> pthread_create (thread, attr, start_routine, arg) pthread_create 创建一个新的线程&#xff0c;并让它可执行。 参数&#xff1a; thread &#xff1a;指向线程标…

Opencv 图像金字塔----高斯和拉普拉斯

原文&#xff1a;图像金字塔----高斯和拉普拉斯 图像金字塔是图像中多尺度表达的一种&#xff0c;最初用于机器视觉和图像压缩&#xff0c;最主要用于图像的分割、融合。 高斯金字塔 ( Gaussian pyramid): 高斯金字塔是由底部的最大分辨率图像逐次向下采样得到的一系列图像…

基于docker快速搭建facechain环境

前言 最近facechain比较火&#xff0c;之前在huggingface试过&#xff0c;在SD的落地场景上提供了思路。 这两天刚拿到一台RTX3090的服务器&#xff0c;在本地部署也遇到了两个问题&#xff0c;给大家分享一下。 一、facechain是什么&#xff1f; 官方是这样说的&#xff1a…

(九)mmdetection源码解读:训练过程中训练数据的调用DataLoader

目录 一、DataLoader创建过程中二、利用实例化data_loaders进行训练 一、DataLoader创建过程中 在训练过程train_detector函数中调用build_dataloader函数 train_detector(model, datasets, cfg, distributedFalse, validateTrue) #train_detector函数中 data_loaders [buil…

# 磁盘引导方式相关知识之BIOS、msdos、MBR、UEFI、gpt、esp、csm

磁盘引导方式相关知识之BIOS、msdos、MBR、UEFI、gpt、esp、csm 磁盘、分区、引导等知识经常似懂非懂&#xff0c;不能完全说清楚&#xff0c;梳理下&#xff1a; 序号主板芯片引导方式支持的磁盘分区表类型支持的磁盘分区表格式对应引导位置备注1BIOS传统方式&#xff08;俗…

我的区块链笔记

区块链 中心化的账本&#xff0c;个人节点和中心节点的地位不对等&#xff0c;中心节点说了算。去中心化&#xff0c;个人节点就是公平的&#xff0c;根据一套规则&#xff0c;叫做公比机制。 区块链的本质&#xff0c;就是数据存储方式 区块链使用密码学算法产生的区块&…

利用AI技术提升乳腺癌诊断准确率

背景&#xff1a; 乳腺癌是全球女性最常见的癌症之一&#xff0c;早期诊断和治疗对提高治愈率和生存率至关重要。传统的乳腺X光检查和病理学诊断方法存在一定的误诊和漏诊率。近年来&#xff0c;人工智能技术在医学领域得到了广泛应用&#xff0c;为提升乳腺癌诊断准确率提供了…

企微SCRM营销平台MarketGo-ChatGPT助力私域运营

一、前言 ChatGPT是由OpenAI&#xff08;开放人工智能&#xff09;研发的自然语言处理模型&#xff0c;其全称为"Conversational Generative Pre-trained Transformer"&#xff0c;即对话式预训练转换器。它是GPT系列模型的最新版本&#xff0c;GPT全称为"Gene…