Cluster computing 集群微服务组件

Cluster computing 集群微服务组件,cluster-computing,microservices,Cluster Computing,Microservices,我有一个微服务,它是一个基于播放框架的HTTP服务。现在,我们希望通过让另一个实例在一个实例发生故障时接收请求来为该服务添加容错能力。现在我明白了,微服务并不是从一开始就被设计成集群的,因为它们是纯粹的无状态、自我维持的组件,只是为了简单地运行 有没有方法可以添加故障切换支持?我想到的是一些外部组件,它检查服务的状态,并通过在其他主机上启动另一个实例对失败作出反应。有什么建议吗?通常,有一个发现服务,服务可以在那里注册自己。如果一个服务需要与另一个服务通信,它会在发现服务中请求这些服务的实例,并

我有一个微服务,它是一个基于播放框架的HTTP服务。现在,我们希望通过让另一个实例在一个实例发生故障时接收请求来为该服务添加容错能力。现在我明白了,微服务并不是从一开始就被设计成集群的,因为它们是纯粹的无状态、自我维持的组件,只是为了简单地运行


有没有方法可以添加故障切换支持?我想到的是一些外部组件,它检查服务的状态,并通过在其他主机上启动另一个实例对失败作出反应。有什么建议吗?

通常,有一个
发现服务
,服务可以在那里注册自己。如果一个服务需要与另一个服务通信,它会在发现服务中请求这些服务的实例,并且大多数情况下还存在客户端负载平衡

我还使用了
Hystrix
包装HTTP调用以处理失败

我不熟悉使用
Play框架构建微服务,但在使用
Spring
时,我使用了:

  • Netflix Eureka-作为发现服务
  • Hystrix-在服务停止时处理HTTP故障/超时
  • 功能区-客户端负载平衡

下面是一个博客系列,它提供了一个使用完整堆栈的示例。然而,它使用的是
Spring
,但我想这两种方法都会有帮助。

我们不是在讨论类似EJB的服务,在这些服务中,通过查找注册表来获取服务实例是有意义的。我们拥有的是一组Play框架应用程序,其中API作为REST端点公开。我也不是说EJB,我是说完全分离的微服务。例如,播放包含产品服务的应用程序1(具有自己的API),以及包含计费服务的第二个应用程序(也具有自己的API)。这些可以分别部署在2台服务器上,并在发现服务(也完全分离)上注册它们自己。是否将我的微服务包装为docker容器,并使用Kubernetes work之类的工具管理docker容器?