2

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

对于单体应用来说,HAProxy 和会话复制具有故障转移和负载平衡。

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

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

4

1 回答 1

3

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

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

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

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

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

于 2015-04-01T09:39:37.040 回答