2015-04-01 41 views
2

目前我们有一些单一的Web应用程序,并尝试将项目转移到微服务基础架构。RESTful微服务故障转移和负载平衡

对于单片应用程序是HAProxy和会话复制具有故障转移和负载平衡。

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

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

回答

3

我建议寻找服务发现。 Netflix descibes此为:

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

  • 服务登记他们的可用性
  • 定位一个特定服务的单个实例
  • 通知时的实例服务变更

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

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

+0

http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html我还没有使用它,但有一个关于在Cloudfoundry上使用Eureka的部分,所以有可能它可能会也在AWS之外工作 – sodik 2015-04-01 11:05:45

+0

据我了解,策展人项目帮助我发现可用的服务。是否还有自动管理服务器的解决方案? 如果在服务器上线服务将在那里启动,如果在服务器上下线,服务将在另一个上启动? Cloudfoundry对我有点困惑:( – Matthias 2015-04-01 15:17:03

相关问题