首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务/ REST容错通信

微服务/ REST容错通信
EN

Stack Overflow用户
提问于 2017-03-21 13:24:11
回答 2查看 263关注 0票数 0

我有一些微服务(spring和rest模板),通过REST (主要是异步)相互通信。

问题是,我想在系统中增加一些容错性;例如,如果其中一个微服务在另一个系统提出请求时出现故障,则该请求应在稍后自动重试。

所以,基本上我在寻找某种REST代理,它:

  • 消耗REST请求
  • 尝试将消息传递给其收件人。
  • 如果交付失败,稍后再试。

有这样的项目/库吗?

谢谢,krisy

EN

回答 2

Stack Overflow用户

发布于 2017-03-21 13:47:58

您可以查看一下准备使用Spring的解决方案:spring+ Eureka + Hystrix + Zuul + Ribbon,您也可以使用带有@Retryable @Recover注释的spring-retry。

票数 1
EN

Stack Overflow用户

发布于 2017-03-21 13:37:48

如果您使用码头,并有某种形式的集装箱编排(如码头群,库伯内特斯.)在多台主机上,您可以拥有每个微服务运行的多个副本、故障后的自动恢复、副本之间的负载平衡和看似无足轻重的网络(不需要服务器IP的微服务名称)。

然而,这也增加了在同一个应用程序中运行多个副本的复杂性(数据一致性.)。

但是,可以有一个群集(多个服务器)运行,每个服务都有一个副本,数据保存在某些外部数据库或文件系统上。然后,当其中一个服务器死掉或其中一个服务遇到问题时,一个新的实例就会旋转,所有的请求都会等待这个旋转(同样,这些服务不知道对方的IP --只知道他们想要交谈的服务的名称,协调器负责链接服务)。

在最简单的设置中,也可以有一个只有一个服务器的群集,并将任何内容存储在本地DB或文件系统上。美丽的是,你的设置将已经建立了一项技术,是能够扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42928473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档