rest - 微服务:REST 与消息传递

标签 rest architecture messaging microservices

我听说亚马逊在其基于微服务的架构中使用了 HTTP。另一种方法是使用像 RabbitMQ 或 Solace 系统这样的消息传递系统。我个人有使用基于 Solace 的微服务架构的经验,但从来没有使用过 REST。
知道亚马逊、Netflix、UK Gov 等各种大联盟实现使用什么吗?
另一个方面是,在微服务中,需要以下内容(除其他外):
* 模式匹配
*异步消息..接收系统可能已关闭
* 发布订阅
*缓存加载事件..即在启动时,服务可能需要从其他几个服务加载所有数据,并且应该在数据完全加载时得到通知,以便它可以“知道”它现在准备好服务要求

这些方面自然是通过消息传递而不是 REST 完成的。为什么任何人都应该使用 REST(公共(public) API 除外)。谢谢。

最佳答案

我过去遵循的一个标准是在关键要求是速度(并且数据丢失不是关键)时使用 Web 服务,而在关键要求是可靠性时使用消息传递。就像你说的,如果接收系统宕机了,一条消息将放在一个队列中,直到系统恢复处理它。如果它是一个 REST 端点并且它已关闭,则请求将简单地失败。

关于rest - 微服务:REST 与消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41010290/

相关文章:

java - 使用 REST 从 Spring MVC Controller 返回 XML

c# - 是否可以使用带符号的 REST url 参数?

c++ - 使用 sendmessage 将 wm_close 发送到另一个进程

java - Spring Boot 应用程序 Post 方法调用,405 : Method Not Allowed

休息oauth2

java - 应用程序架构: request processing

authentication - 在微服务架构中组织授权的最佳实践?

c# - 如何在单个 webapi 请求中使用单个对象并在所有子进程中填充其属性?

objective-c - "self"在 ARC 的方法中是弱的吗?

message-queue - 大众运输队列维护