Eureka:Spring Cloud服务注册和发现组件

问题总结

  1. Eureka 两大组件?
  2. Eureka 服务注册与发现?
  3. Eureka Server 集群?
  4. Eureka 自我保护机制?

问题答案

  1. Eureka 两大组件
  • Eureka Server:Eureka 服务注册中心。当微服务启动时,会将自己的服务注册到Eureka Server。Eureka Server维护了一个可用服务列表,存储了所有注册到Eureka Server的可用服务。
  • Eureka Client:Eureka 客户端,微服务系统中的各个微服务。Eureka Client会向Eureka Server发送心跳(默认30s)。Eureka Server在多个心跳周期没有收到Eureka Client的心跳,将其从服务列表中移除(默认90s)。

  1. Eureka 服务注册与发现

图1:

  • 服务注册中心(Register Service):Eureka Server,提供服务注册和发现功能。
  • 服务提供者(Provider Service):Eureka Client,提供服务。将自己注册到Register Service,以供服务消费者发现。
  • 服务消费者(Consumer Service):Eureka Client,提供消费服务。从Register Service获取服务列表,调用所需服务。

Eureka流程:

  1. 搭建一个Eureka Server作为服务中心;
  2. 服务提供者Eureka Client启动时,将当前服务器的信息以服务名(spring.application.name)的方式注册到服务注册中心;
  3. 服务消费者Eureka Client启动时,向服务注册中心注册;
  4. 服务消费者获取一份可用服务列表,包含了所有注册到服务注册中心的服务信息(包括服务提供者和自身的信息);
  5. 服务消费者通过HTTP或消息中间件远程调用服务提供者提供的服务。

  1. Eureka Server 集群
  • Eureka Server A 和 Eureka Server B,将A作为一个服务注册到B上,B注册一个服务到A上。形成一个相互注册的Eureka Server集群,当服务提供者发送注册请求到Eureka Server时,Eureka Server会将请求转发给集群中与之相连的Eureka Server上,形成Eureka Server之间的服务同步。
  • 服务消费者可以在集群中的任意一台Eureka Server上获取服务提供者的服务。当集群中某个服务注册中心发生故障,服务消费者仍然可以从集群中其他Eureka Server获取服务信息并调用,而不会导致系统的整体瘫痪。(高可用)

  1. Eureka 自我保护机制
  • 在实际的分布式微服务中,健康的服务(Euraka Client)可能因为网络故障而无法与Eureka server正常通讯。若此时Eureka Server因为没有接受心跳而误将健康的服务从服务列表中移除,这显然不合理。
  • Eureka Server在一段时间内没有接收到Eureka Client的心跳,那么Eureka开启自我保护机制,将所有Eureka Cilent的注册信息保护起来。一但网络恢复,这些Eureka Client提供的服务能够继续被服务消费者消费。
    • 弊端:在Eureka自我保护机制触发期间,服务提供者提供的服务出现问题,那么服务消费者就很容易获取到已经不存在的服务从而出现调用失败的情况。(通过Ribbon:负载均衡+Hystrix:流量控制、熔断机制)

Eureka:Spring Cloud服务注册和发现组件的更多相关文章

  1. Spring Cloud ---- 服务注册与发现(Eureka 找到了!找到了! 嘻嘻)

    记录一下吧,为什么接触分布式.因为裸辞之后没有找到工作,好的公司都要求有分布式经验,但是我完全没有.在一次面试的时候,面试官说如果你会分布式架构的话,我可以把工资给你开高2.5,我就考虑着给我点时间, ...

  2. spring cloud服务注册与发现无法发现的可能原因

    1.注册中心服务端默认90秒检测一次,看服务是否还存活,不存活则删除掉服务,还存活则继续注册上去 2. spring: profiles: dev cloud: config: name: clean ...

  3. 一起来学Spring Cloud | 第二章:服务注册和发现组件 (Eureka)

    本篇文章,很浅显的一步步讲解如何搭建一个能运行的springcloud项目(带所有操作截图).相信!看完本篇之后,你会觉得springcloud搭建如此简单~~~~ 一. Eureka简介: 1.1  ...

  4. spring cloud 服务注册中心eureka高可用集群搭建

    spring cloud 服务注册中心eureka高可用集群搭建 一,准备工作 eureka可以类比zookeeper,本文用三台机器搭建集群,也就是说要启动三个eureka注册中心 1 本文三台eu ...

  5. spring Cloud服务注册中心Eureka集群

    spring Cloud服务注册中心Eureka集群配置: 在application.yml文件加以下配置: server: port: 8761 tomcat: uri-encoding: UTF- ...

  6. Spring Cloud服务注册中心交付至kubernetes

    前言 服务发现原则: 各个微服务在启动时,会将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可以从服务发现组件中查询到服务提供者的网络地址,并使用该地址来远程调用服务 ...

  7. .net core + eureka + spring boot 服务注册与调用

    .net core + eureka + spring boot 服务注册与简单的调用 假期小长假遇上疫情只能去家里蹲了,刚好有时间总结一下. 概述 微服务架构是当前比较火的分布式架构,本篇基于.ne ...

  8. spring boot 2.0.3+spring cloud (Finchley)1、搭建服务注册和发现组件Eureka 以及构建高可用Eureka Server集群

    一 .搭建Eureka 编写Eureka Server 由于有多个spring boot项目,采用maven多module的结构,项目结构如下: 新建一个maven主工程,在主maven的pom文件中 ...

  9. 孰能巧用 Spring Cloud 服务注册中心Eureka

    Eureka介绍 在Spring Cloud Netflix 整合技术栈中,Eureka既可以作为服务注册中心也可以用于服务发现对整个微服务架构起着最核心的整合作用. Eureka是基于REST(Re ...

  10. 微服务~Eureka实现的服务注册与发现及服务之间的调用

    微服务里一个重要的概念就是服务注册与发现技术,当你有一个新的服务运行后,我们的服务中心可以感知你,然后把加添加到服务列表里,然后当你死掉后,会从服务中心把你移除,而你作为一个服务,对其它服务公开的只是 ...

随机推荐

  1. JavaAgent寄生在目标进程中引起的ClassNotFoundException

    今天有解决方案部的小伙伴反映,我公司XWind产品在分析客户应用程序的潜在性能问题时,总是显现诊断任务异常,为了定位问题的根因,我们马上要求解决方案部的小伙伴提供XWind相关的日志,从日志中找到了如 ...

  2. Solution -「HDU 3507」Print Article

    Description Link. 给出 \(N\) 个单词,每个单词有个非负权值 \(C_{i}\),现要将它们分成连续的若干段,每段的代价为此段单词的权值和,还要加一个常数 \(M\),即 \(( ...

  3. Solution Set -「CF 1485」

    「CF 1485A」Add and Divide Link. 贪心.枚举 \([b,b+\log_{2}\text{range}]\) 然后取个 \(\min\). #include<cstdi ...

  4. oracle clob字段信息读取,不限字符长度

    在项目中,经常需要在plsql中查询clob的内容,提供以下两种方法: 第一种,oracle常规函数,限制文本在4000以内 select dbms_lob.substr(sql_text) from ...

  5. FreeRTOS 中的调度算法

    FreeRTOS 中的调度算法 01 调度算法概述 调度算法的作用: 实时系统的调度需求 相应时间要求 任务优先级 资源利用率 FreeRTOS 调度算法的目标 提供可预测的任务调度 实现任务的优先级 ...

  6. 数字时代的自我呈现:探索个人形象打造的创新工具——FaceChain深度学习模型工具

    数字时代的自我呈现:探索个人形象打造的创新工具--FaceChain深度学习模型工具 1.介绍 FaceChain是一个可以用来打造个人数字形象的深度学习模型工具.用户仅需要提供最低一张照片即可获得独 ...

  7. 开源项目 | 一款基于NodeJs+Vue3的强大的在线设计图片工具

    一.项目概述 一款漂亮且功能强大的在线海报图片设计器,仿稿定设计.适用于海报图片生成.电商分享图.文章长图.视频/公众号封面等多种场景. 二. 技术特性 丝滑的操作体验,丰富的交互细节,基础功能完善 ...

  8. HTML-9

    (一)常用方法 toFixed(); 四舍五入到小数点后几位 var x=9.656; x.toFixed(0);//10 x.toFixed(2);//9.66 x.toFixed(4);//9.6 ...

  9. C#.NET 国密SM4 CBC 对称加解密 与JAVA互通 ver:20231103

    C#.NET 国密SM4 CBC 对称加解密 与JAVA互通 ver:20231103 .NET 环境:.NET6 控制台程序(.net core). JAVA 环境:JAVA8,带maven 的JA ...

  10. C?C++?

    代码逆向 在这里需要注意的几个点: c#语言赋值号(=)右边的值同样会跟着左边的值改变,如array6=array2,array6+=2:这个时候array2也会变 如array7[num5] +=  ...