问题标签 [netflix-eureka]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-cloud - 如何只取出eureka ill服务应用实例以避免hystrix断路?
我正在我的本地机器上试用spring-cloud-samples,我开发了一个简单的 REST 服务,支持 eureka 和 hystrix。
我有一个前端应用程序,它通过 hystrix 命令方法(@HystrixCommand 注释方法)连接到服务,其中包含对 Feign 客户端的引用。
假装客户端
Hystrix 包装器
我已经启动了 Spring MVC ProductService 的两个实例。第一个按预期交付基于给定标识符的产品信息。另一方面,第二个总是抛出 RuntimeException 以模拟系统依赖失败:
在前端,我使用 hystrix 客户端获取产品信息,并且 ProductService 实例将以循环方式(由于功能区)方式调用。由于 ProductService 实例之一总是传递异常,在前端连续多次调用后,ProductService 电路将打开(即使 ProductService 实例之一可以成功处理请求)。
如何仅从 eureka 中删除有问题的 ProductService 实例,并保持其正常运行,以避免 ProductService 的 hystrix 断路?我认为需要更改 ProductService 的健康指标资源“/health”的功能,以便对系统依赖失败执行额外检查。
我偶然发现使用spring-boot-starter-actuator可以执行自定义健康检查,但这似乎无助于从 eureka 中取出服务实例。
spring-boot - Eureka:如何禁用/配置对等复制?
当我在端口 8761 上运行 Eureka 时,一切正常。配置服务器可以毫无问题地注册到 Eureka。但是,当我将尤里卡端口更改为 7001 时,事情停止工作,我似乎无法弄清楚如何修复它们。
这个问题似乎围绕着 Eureka 无法找到在以下位置运行的对等节点:http://localhost:8761/eureka。例外是:
实际上,当 Eureka 启动时,它会显示:添加副本节点:http://localhost:8761/eureka/。因此,似乎假设某个副本节点在 8761 运行。
有没有办法禁用 Eureka 寻找副本节点?或者我如何控制复制是否以及何时何地发生?我查看了 EurekaServerConfig 类(http://netflix.github.io/eureka/javadoc/eureka-core/index.html),但我找不到任何朝着这个方向发展的东西。
这是 Spring Cloud 1.0.2.RELEASE。
spring-cloud - 如何使用 Spring Cloud 和 Netflix OSS 在微服务之间进行路由
在我们使用 Spring Cloud 开发微服务期间,我们开始使用 Zuul 作为从外部到微服务的任何连接的代理,以及任何需要联系另一个微服务的微服务。
一段时间后,我们得出结论,Zuul 被设计为边缘服务(仅代理从外部到微服务的流量),不应该用于微服务间的通信。尤其是 Spring Cloud 推荐使用 eureka 与另一个服务建立直接(潜在的负载平衡)连接的方式,使我们反对在一切之间使用 Zuul。
当然,一切都按预期运行良好(就像使用 Spring Cloud 一样),但我们对如何使用此设置执行某个用例一无所知。
在部署新版本的微服务时,我们希望对旧版本和新版本进行蓝/绿部署。但是,由于微服务之间没有 Zuul,两个独立服务之间的通信将继续使用旧版本,直到它从 eureka 中删除。
我们正在考虑如何实现这一目标。在下面的图片中,我绘制了我认为可能是一个选项。
在图片的第一部分,Zuul 调用 eureka 获取注册中心来创建路由。此外,服务 1 正在调用 eureka 以让注册表路由到服务 2。由于服务 2 在 eureka 注册表中,因此路由成功完成。
在图片的第二部分,部署了服务 2(服务 2.1)的更新。它也向 eureka 注册,这使得服务 1 现在路由到服务 2 和服务 2.1。蓝/绿部署不希望这样做。
在第三部分中,展示了针对此问题的潜在解决方案,并为此目的部署了另一个 eureka 实例。此实例不支持对等,并且不会与第一个 eureka 实例同步。与第一个实例相反,这个实例的唯一目的是促进蓝/绿部署。服务 2.1 向第二个 eureka 实例注册,服务 1 的配置被更改为不是从第一个而是从第二个 eureka 实例获取其注册表。
我们面临的主要问题是这是否是一个可行的解决方案。拥有 Zuul 路由的灵活性是我们在这种情况下没有的一大优势。我们应该回到通过 Zuul 路由每个服务到服务的调用,还是有另一种更合适的解决方案(可能是某种功能区配置)?还是第二个 eureka 实例是此类部署的最佳解决方案?
任何反馈将不胜感激。
亲切的问候,安德烈亚斯
spring-cloud - 尤里卡服务器缓存刷新
有两个具有以下配置的 eureka 服务器(比如 ES1 和 ES2)。
同步工作,但在发布到生产期间,当一个 eureka 服务器(比如 ES2)关闭时,另一个 eureka 服务器(ES1)仍然维护旧的缓存信息,并且当 ES2 重新启动时,它会注册 eureka 客户端但取消注册旧客户端不会发生,这会导致功能区负载均衡器使用过时的信息。
使用以下配置注册尤里卡客户端。
为什么旧实例没有从尤里卡服务器上注销?因此,我们必须完全关闭并重新启动我们的基础设施。
netflix-eureka - 微服务架构——netflix 技术栈
我们正在开始一个新项目。它将基于微服务架构。我们正在为此考虑使用 netflix 技术堆栈。为了开发休息服务,我们将使用 dropwizard。到目前为止,一切都很好。读完后,我感到很困惑。有什么不同的用例
- 海丝特里克斯
- 尤里卡
- 丝带
我知道问题现在很模糊。我会添加更多细节,因为有人有疑问。
spring - Eureka Client 和 spring 集成
我正在尝试将我的 Spring 应用程序作为发现客户端。但是在我添加以下依赖项的那一刻
GWT webapp 无法启动,出现 503 服务不可用。netflix Eureka 可以只和 spring boot 或者 spring cloud 应用一起使用吗?
apache-camel - 可以防止在春季刷新事件期间关闭骆驼路线
我一直在尝试将 Spring Cloud Ribbon 客户端集成到我的骆驼路线中,但没有成功。显然,功能区客户端执行应用程序上下文刷新,在此期间重新启动骆驼上下文。供参考:https ://github.com/spring-cloud/spring-cloud-netflix/issues/438#issuecomment-121282986
我正在寻找一种方法来防止骆驼在这些刷新过程中崩溃,或者任何其他可以防止这种痛苦暂停的解决方案。这可能吗?
spring-cloud - Spring Cloud:为 Zuul 和 Eureka 启用 SSL
我正在尝试为我的 Spring Cloud 应用程序启用 SSL。现在它由几个服务组成,Eureka 和 Zuul(没有 Ribbon 或 Feighn)。我发现很少有关于如何为 Eureka 启用 SSL 的提示,但无法让它工作。在 Zuul 方面,我找不到任何信息,除了这个:Zuul SSL Support,它有效地禁止使用随机端口:(server.port=0)。我的应用程序的 application.yml:
Eureka 服务器 application.yml:
我不确定我需要在 Zuul 的 application.yml 中添加什么来允许 SSL,所以我跳过它。
当我启动 Eureka 和我的应用程序时,我遇到了重复的异常:
我也得到 404 到 curl 命令:
curl -k -i -X 获取https://localhost:8761/eureka
Zuul 无法启动,因为它无法连接到 Eureka。
我很确定我将配置文件放入了错误的 application.yml 文件中(我仍然不知道如何配置 Zuul)。
我想知道是否有任何文档告诉如何在所有 Netflix 组件中启用 SSL。
php - 不同语言的eureka服务发现客户端
有没有办法将 Netflix 服务发现服务器 (Eureka) 与不同的编程语言(例如 php)集成。例如,我们想在 php.ini 中创建一个服务发现客户端。
在此先感谢您的帮助。
spring-cloud - 春天云:尤里卡处理程序
嗨,当使用 Spring Cloud api 将新实例/服务注册到 eureka 时,我正在尝试调用自定义方法。是否有任何处理程序/拦截器可以执行此操作?完成注册后,它应该调用自定义方法,这里我试图将一个事件发布到队列中。