spring-boot - RESTful 微服务故障转移和负载平衡

标签 spring-boot load-balancing failover microservices

目前,我们有一些单体 Web 应用程序,并尝试将项目转移到微服务基础设施。

对于单体应用程序来说,HAProxy 和 session 复制具有故障转移和负载平衡功能。

现在我们使用 Spring Boot 构建一些 RESTful 微服务,但我不清楚构建生产环境的最佳方法是什么。 当然,我们可以将所有应用程序作为 unix 服务运行,并且仍然有一个反向代理来进行负载平衡和故障转移。这个解决方案对我来说似乎很重,有很多配置和维护。资源管理和扩展或缩小服务器始终是一个手动过程。

使用 2-3 台服务器和轻松的资源管理来设置生产环境的最佳可能性是什么? 有没有一些解决方案也支持持续部署?

最佳答案

我建议研究一下服务发现。 Netflix将其描述为:

A Service Discovery system provides a mechanism for:

  • Services to register their availability
  • Locating a single instance of a particular service
  • Notifying when the instances of a service change

Netflix 的 Eureka 等软件包可能会有所帮助。 (编辑 - 实际上这看起来可能是 AWS 特定的)

这应该适用于持续交付,因为服务可能会使其自身不可用,进行更新,然后再次注册可用性。

关于spring-boot - RESTful 微服务故障转移和负载平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29387250/

相关文章:

spring-boot - 无法使用 KeycloakAutoConfiguration 使用 Spring Boot Security UnsatisfiedDependencyException 设置 Keycloak

springfox 不能与 spring-boot-admin-server 一起使用

java - 如何设计非EJB负载均衡应用程序?

load-balancing - Google Cloud HTTP 平衡器和 gzip

rabbitmq - 负载均衡器在RabbitMQ中的工作方式

jakarta-ee - 集群 Java EE Web 应用程序 - 选项?

java - 如何使用 spring boot 和 oauth2 公开端点

java - 如何在使用 spring Maven 插件构建时包含空目录?

MySQL 复制 : failover scenario

java - 使用代理网络中的临时队列的请求/回复模式的 ActiveMQ/Camel 故障转移 - 无法发布到已删除的临时队列