【问题标题】:RESTful Microservice failover & load balancingRESTful 微服务故障转移和负载均衡
【发布时间】:2015-06-05 21:23:03
【问题描述】:

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

对于单体应用来说,HAProxy 和 Session Replication 具有故障转移和负载平衡功能。

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

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

【问题讨论】:

    标签: spring-boot load-balancing failover microservices


    【解决方案1】:

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

    服务发现系统提供了一种机制:

    • 注册其可用性的服务
    • 定位特定服务的单个实例
    • 在服务实例更改时通知

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

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

    【讨论】:

    • cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html 我没用过,但是有一节是关于在 Cloudfoundry 上使用 Eureka,所以它有可能在 AWS 之外也可以工作
    • 据我了解,curator 项目帮助我发现可用的服务。是否还有自动管理服务器的解决方案?如果在服务器上在线服务将在那里启动,如果在服务器上离线服务将在另一台服务器上启动? Cloudfoundry 让我有点困惑:(
    猜你喜欢
    • 2021-11-05
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多