我有一个微服务,它被实现为基于Play框架的HTTP服务。我们现在希望通过让另一个实例在一个实例关闭时获取请求来为此服务添加容错。现在我明白微服务并不是从头开始设计的,因为它们纯粹是无状态的,自我维持的组件,只是为了运行。
有哪些方法可以添加故障转移支持?我正在考虑一些外部组件,它检查服务的状态,并通过在其他主机上启动另一个实例来对失败作出反应。有什么建议吗?
答案 0 :(得分:1)
通常,有一个discovery service
服务可以自己注册。如果服务需要与另一个服务通信,它会在发现服务中请求这些服务的实例,并且大多数时候也会有客户端负载平衡。
我还使用Hystrix
来封装HTTP调用来处理失败。
我不熟悉使用Play framework
构建微服务,但在使用Spring
时我使用过:
使用完整堆栈提供示例的博客系列是this one。但是,它正在使用Spring
,但我想它无论哪种方式都有用。