Eureka检测服务状态

2024-03-06

Context

我们使用 Spring Cloud Netflix 和 Eureka 作为服务发现,使用 Zuul 来代理服务并对其进行负载平衡。

微服务使用NodeJS实现,并使用NPM模块注册到Eurekaeureka-js-客户端 https://www.npmjs.com/package/eureka-js-client中间有一个自定义层,用于处理所有微服务通用的配置和内容。


Problem

问题是尤里卡无法识别一项服务是否出现故障。这是一个问题,因为我们拥有一个具有自动部署功能的开发基础设施,每次都会在不同端口上重新部署和重新启动微服务,而无需重新启动 Eureka(和 Zuul)。

因此,过了一段时间,我们就有了十个或更多的一个微服务实例,其中只有一个处于运行状态,但所有实例都被认为是正在运行的UP.


解决方法

  1. 我尝试设置heartbeatInterval对客户端的影响较小,但这没有帮助。

  2. 我尝试设置renewalThresholdUpdateIntervalMs在服务器上较少,但这也没有帮助。

  3. 还有更多令人沮丧、无益的财产尝试……


Question

如何配置 Eureka 驱逐实例或将状态设置为DOWN在合理的时间内(不是 30 分钟左右)未发送心跳的实例有多少?


代码片段

服务器本身不包含可提及的代码(只是使用 Spring Cloud Starter 启动 Eureka 服务器的一些注释)。

Eureka服务器的配置(我已经删除了所有不工作的尝试):

server:
  port: 8761

spring:
  cloud:
    client:
      hostname: localhost

eureka:
  instance:
    address: 127.0.0.1
    hostname: ${spring.cloud.client.hostname}

发送到服务器的客户端配置(使用eureka-js-客户端 https://www.npmjs.com/package/eureka-js-client):

{
    instance : {
        instanceId : `${CONFIG.instance.address}:${CONFIG.instance.name}:${CONFIG.instance.port}`,
        app : CONFIG.instance.name,
        hostName : CONFIG.instance.host,
        ipAddr : CONFIG.instance.address,
        port : {
            '$' : CONFIG.instance.port,
            '@enabled' : true
        },
        homePageUrl : `http://${CONFIG.instance.host}:${CONFIG.instance.port}/`,
        statusPageUrl : `http://${CONFIG.instance.host}:${CONFIG.instance.port}/info`,
        healthCheckUrl : `http://${CONFIG.instance.host}:${CONFIG.instance.port}/health`,
        vipAddress : CONFIG.instance.name,
        secureVipAddress : CONFIG.instance.name,
        dataCenterInfo : {
            '@class' : 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
            name : 'MyOwn'
        }
    },
    eureka : {
        host : CONFIG.eureka.host,
        port : CONFIG.eureka.port,
        servicePath : CONFIG.eureka.servicePath || '/eureka/apps/',
        healthCheckInterval : 5000
    }
}

一段时间后,我们有一个微服务的十个或更多实例,其中 只有一个处于 UP,但所有都被识别为处于 UP。

尤里卡有一个“自我保护”模式。如果少于 85% 的实例心跳正在注册,则不会驱逐任何实例。您应该能够在尤里卡仪表板上看到警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eureka检测服务状态 的相关文章

  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 如何在代理后面安装 Eclipse Neon

    对于 Neon Eclipse 附带了一个安装程序 我在安装程序中找不到任何配置菜单 我的java版本是 java version java version 1 8 0 72 Java TM SE Runtime Environment b
  • 当客户端关闭连接时,Spring StreamingResponseBody 请求线程未清理

    我在控制器中有一个端点 它返回一个StreamingResponseBody 用于向客户端发送文件 其代码大致如下 RestController RequestMapping value api public class Controlle
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • 需要使用 joda 进行灵活的日期时间转换

    我想使用 joda 解析电子邮件中的日期时间字符串 不幸的是我得到了各种不同的格式 例如 Wed 19 Jan 2011 12 52 31 0600 Wed 19 Jan 2011 10 15 34 0800 PST Wed 19 Jan
  • 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

    我有一个返回 sys refcursor 的 Oracle 函数 当我使用 Hibernate 调用该函数时 出现以下异常 Hibernate call my function org hibernate exception Generic
  • 套接字的读写如何同步?

    我们创建一个套接字 在套接字的一侧有一个 服务器 在另一侧有一个 客户端 服务器和客户端都可以向套接字写入和读取 这是我的理解 我不明白以下事情 如果服务器从套接字读取数据 它在套接字中是否只看到客户端写入套接字的内容 我的意思是 如果服务
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • Java实现累加器类,提供Collector

    A Collector具有三种通用类型 public interface Collector
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • QuerySyntaxException:无法找到类

    我正在使用 hql 生成 JunctionManagementListDto 类的实际 Java 对象 但我最终在控制台上出现以下异常 org hibernate hql internal ast QuerySyntaxException
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Phantom-node模块无法加载外部资源

    我正在开发一个nodejs服务器 它将发布的html呈现为pdf png或jpg https github com svenhornberg pagetox https github com svenhornberg pagetox ser
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud

随机推荐

  • 如何将 JSON 数据发送到 Action 方法?

    我正在发布到服务器 Net 但在将数组传递到控制器操作时遇到问题 我尝试了几乎所有可能的组合 但没有运气 然而 其中有一个令我困惑 如果我执行此请求 var dataArray some plain object another plain
  • 创建 GridView 时“必须在与 DependencyObject 相同的线程上创建 DependencySource”

    我的线程有问题 当我想将 GridView 设置为 ListView 作为另一个线程中的视图时 它会显示一条消息 必须在与 DependencyObject 相同的线程上创建 DependencySource Create grid vie
  • 序列化和反序列化 Django Enum 字段以接受数字和文本表示

    我正在尝试创建一个枚举字段 https github com 5monkeys django enumfield在 Django 中 在 GET 请求时将返回枚举的文本表示形式 在 POST 或 PATCH 请求时将在保存之前将文本表示形式
  • 如何使用比较器签名创建 NSSortDescriptor?

    我可以创建一个不区分大小写的字符串排序描述符 如下所示 let titleSort NSSortDescriptor key title ascending true selector selector NSString localized
  • 如何在 ASP.net Core WebAPI 中启用 CORS

    我正在尝试做什么 我有一个托管在 Azure 免费计划上的后端 ASP Net Core Web API 在 Net Core中添加默认安全标头 https github com killerrin Portfolio Backend 我还
  • 是否有返回当前项目名称的 git 命令?

    git 是否有内置命令用于显示当前远程项目的名称 现在我正在使用这个 git remote v head n1 awk print 2 sed s sed s git 但似乎会有一个内置的等效项 我一直在寻找相同的信息来自定义我的 shel
  • SPARQL递归祖先查询

    我被 SPARQL 中的递归查询困住了 我无法理解它 我想获得一个实例的所有祖先 a a hasParent b b hasParent c c hasParent d 所以结果将是 b c and d 如果实例是 a 有什么想法如何构造父
  • 表存储(模拟器)插入失败,并显示“请求输入之一无效”。

    我有一个导入过程 它从旧源获取数据并将其放入表存储中 这使我可以重新初始化表存储并根据需要重新开始 它在更新到 10 月份的 Azure SDK for NET VS2012 之前就可以正常工作 现在 插入一些实体后它会失败 似乎有所不同
  • 如何从 lxml 错误中获取更多信息?

    因为我无法使用 XSL IDE 所以我使用 lxml 编写了一个超级简单的 Python 脚本 通过给定的 XSL 转换来转换给定的 XML 文件 并将结果写入文件 如下 有删节 p XMLParser huge tree True xml
  • 页面属性中的 AEM 页面图像不应用 sling:resourceType

    使用 Adob e Experience Manager 5 6 1 AEM 以前称为 CQ5 我尝试创建一个类似于页面属性中的 图像 选项卡的新选项卡 它将被命名为 标志 我基本上只是复制 图像 选项卡来创建徽标选项卡 并重命名路径以反映
  • 有没有办法以编程方式将值保存到 web.config appSettings 而不破坏注释和格式?

    此代码可以工作 但它会破坏 Web config 中的注释和格式 有没有一种方法可以写入 Web config 且不会破坏格式 var webConfig WebConfigurationManager OpenWebConfigurati
  • 如何在 PyTorch 数据加载器中将 RGB 图像转换为灰度图像?

    我已经从 MNIST 数据集中下载了一些示例图像 jpg格式 现在我正在加载这些图像来测试我的预训练模型 transforms to apply to the data trans transforms Compose transforms
  • 尝试在javascript中打开多个窗口

    我需要点击按钮打开多个网址 正在 Chrome 上进行测试 PS 我这样做是为了自己 我只是想打开我每天早上想阅读的所有网址 例如 我不想浪费时间点击每个网址 不确定 javascript 是否是构建此类功能的正确工具 写了下面的代码 它打
  • vscode prettier 不格式化 .tsx 文件

    我已经在 Visual Studio 代码编辑器中使用 Prettier 扩展很长时间了 但最近我一直在使用 Typescript 编写 React 所以我需要配置 Prettier 来格式化 tsx files 使用以下内容编辑设置set
  • 如果我因为想要转向生产而关闭 Play 商店中的公开测试版计划,那么我的应用程序的用户会发生什么情况?

    以前曾有人问过这个问题 但没有提供答案 也没有链接到文档说明如果开发人员有公开测试版程序并决定关闭它 应用程序的用户会发生什么 这些用户是否会自动转换为生产用户 还是必须重新下载应用程序 如果关闭公开测试计划并开始将新的更新推向生产环境 他
  • Python坐标之间的转换

    有没有不同坐标系之间转换的函数 例如 Matlab 有 rho phi cart2pol x y 用于从笛卡尔坐标到极坐标的转换 看起来应该是 numpy 或 scipy 使用 numpy 您可以定义以下内容 import numpy as
  • 设置 Oracle JDBC 瘦客户端的语言

    我想在实际创建 JDBC 连接之前为其指定语言 例如 如果我在中指定了错误的 L P 凭证 DriverManager getConnection url user password 我需要得到ORA错误已本地化为我选择的语言 我使用 Or
  • 具有多个窗口的 SDL 2.0 退出事件

    我正在使用 SDL 2 0 并决定尝试制作多个窗口 不幸的是 现在我无法退出程序而不返回 IDE 并强制关闭它 事件处理尽可能简单 我只轮询退出事件 并且在添加第二个窗口之前它工作得很好 使用多个窗口时是否会忽略退出事件 如果是这样 我怎样
  • 页面重新加载后断点

    页面重新加载后我需要在断点处停止 我在代码中放置了一个断点 但重新加载后它被禁用 putting debugger 在代码中工作正常 但我想知道是否有办法在 firebug 或 chrome 开发工具中做到这一点 可能是您的页面 url 中
  • Eureka检测服务状态

    Context 我们使用 Spring Cloud Netflix 和 Eureka 作为服务发现 使用 Zuul 来代理服务并对其进行负载平衡 微服务使用NodeJS实现 并使用NPM模块注册到Eurekaeureka js 客户端 ht