首页 > 其他分享 >浅谈eureka的保护机制

浅谈eureka的保护机制

时间:2023-09-02 13:33:45浏览次数:40  
标签:服务 浅谈 删除 eureka 15% 信号 心跳 机制

  今天学习了spring cloud 中的注册中心——eureka,作为微服务的注册中心,eureka需要对服务的可用状态进行一个体现。直观的体现方式就是在eureka启动后的ui界面上可以看到服务的是否可用。

  在某一个时刻下,如果后端某一个服务不可用了,eureka不会立即将其从ui界面上删除。而是等待一段时间后再删除,在默认情况下,这个时间是90s。在90s内,eureka会有一个心跳机制来判断服务是否健康。每相隔30s会发送一个心跳信号。如果超过3次,也就是90s未收到信号,则判定发送心跳信号的服务不可用了,这时候才会将服务删除。

  但是,这里有一个问题。eureka接收心跳信号,信号也是通过网络传输的。假如,不是服务失效,而是网络状态不好。导致eureka服务器接收不到信号,那是否会因为网络的问题造成eureka误判了服务的可用情况,导致服务被误删了呢?

  考虑到这种情况,eureka设置了阈值。当15分钟之内,若挂掉的服务超过了15%。(也就是eureka突然对项目服务中的15%失去了心跳信号)那eureka会判断,这些15%的服务挂掉的原因,不是由于服务真的挂掉了,而是网络不好,心跳信号传达不到。然后eureka不会删除这些服务。

 

例子:三年一班今天老师上课突然发现了15%的学生(服务)都没来上课(失效)。老师进行判断,这15%的学生有可能是堵车(网络拥堵)了,不是故意迟到的。因为平常不会突然大量的学生同时迟到。老师不对他们追究责任(不删除服务)。

 

标签:服务,浅谈,删除,eureka,15%,信号,心跳,机制
From: https://www.cnblogs.com/xjhblogs/p/17673589.html

相关文章

  • Redisson看门狗机制你了解多少
    前言谈到Redisson就不得不说Redis了,一想到Redis就不得不想到并发编程锁机制,一想到锁机制那么就不能不考虑一个很头疼的问题,如何保证原子性的问题,高QPS请求量的系统对每次执行数据的原子性由为的关键,保证不了原子性就会导致一系列重复提交的操作,重复的数据导致在某些逻辑运算的时候......
  • eureka加入认证功能
    为了注册中的安全性,我们需要加入eureka登录的认证功能,然后该功能的添加涉及两部分,一部分是eureka服务端,另一部分是eureka客户端eureka服务端配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-secur......
  • 浅谈后缀数组
    编写中,待完善。。。前置知识:后缀(???),基数排序(说通俗一点就是桶子排序),基础倍增。后缀数组是一种处理字符串问题的利器,可以起到代替后缀树的作用,在码量上具有绝对的优势。正常情况下,大家都会使用后缀数组而非后缀树。虽然后缀数组十分的好写,但是过程难以令人理解。今天我会......
  • 易基因:De novo组装和转录组表征:东方田鼠原发性卵巢癌机制新见解|项目文章
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2022年,中南大学湘雅医学院周智君教授团队在MolMedRep发表了题为" Denovoassemblyandtranscriptomecharacterization:NovelinsightsintothemechanismsofprimaryovariancancerinMicrotusfortis......
  • 深入探讨进程间通信的重要性:理解不同的通信机制(下)
    前言在上一篇文章中,我们探讨了进程间通信的三种常见机制:管道、消息队列和共享内存。我们了解到,这些机制各有其特点和适用场景,可以根据实际需求选择合适的机制进行进程间通信。然而,进程间通信并不仅限于这三种方式。在本文中,我们将继续探索进程间通信的知识点,重点关注信号量、信......
  • Java的反射机制
    JAVA反射机制:程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection(反射机制)。概述:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对......
  • Java语言的运行机制
    计算机语言分为编译型和解释性两种类型.编译型:( C/C++、Pascal/ObjectPascal(Delphi))编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需......
  • 深入探讨进程间通信的重要性:理解不同的通信机制(上)
    进程间通信在操作系统中,进程间通信是指不同进程之间进行信息共享、数据传输和消息通知等交互的过程。每个进程在创建时都有自己独立的虚拟地址空间,但它们共享内核空间。因此,要实现进程间的通信,必须通过内核来进行中介,如下图所示:在Linux系统中,提供了多种进程间通信的机制,包括管......
  • tidevice中常用api 浅谈
     -设备管理类API: -`pair(device:Device)->bool`:配对一个iOS设备,返回是否成功。-`unpair(device:Device)->bool`:解除配对一个iOS设备,返回是否成功。-`list_devices()->List[Device]`:列出所有已连接的iOS设备,返回一个设备对象的列表。-`get_device_info(devic......
  • Pytest 框架执行用例流程浅谈
    背景:根据以下简单的代码示例,我们将从源码的角度分析其中的关键加载执行步骤,对pytest整体流程架构有个初步学习。代码示例:importpytestdeftest_add():assert1+1==2deftest_sub():assert2-1==1通过 pytesttest_example.py运行此代码示例......