我听说亚马逊使用HTTP来实现基于微服务的体系结构。另一种方法是使用像RabbitMQ或Solace系统的消息系统。我个人有基于Solace的微服务体系结构的经验,但从来没有使用过REST。
任何想法像亚马逊,Netflix,英国政府等各种大联盟实施使用?
其他方面是,在微服务,事情需要(除了其他)以下:
*模式匹配
*异步消息..接收系统可以是向下
*发布订阅
*缓存加载事件..即上启动时,服务可能需要加载来自其他一些服务的所有数据,并且在数据完全加载时应该被通知,以便它可以'知道'它现在已经准备好服务请求了。
这些方面是自然的使用消息而不是REST完成。为什么任何人都应该使用REST(公共API除外)。谢谢。微服务:REST与消息传递
6
A
回答
9
过去我遵循的一个标准是当关键要求是速度(并且数据丢失不重要)和关键要求是可靠性时发送消息时使用Web服务。就像你所说的那样,如果接收系统关闭了,一条消息将会放在队列中,直到系统恢复正常处理它为止。如果它是一个REST端点并且它已关闭,则请求将会失败。
+4
+1,你可能想要考虑同步通信(REST)的耦合影响,如果一个失败的所有家属将失败,因此除了丢失数据之外,它还可能导致连锁反应,从而导致整个系统失效。 –
+0
@SeanFarmar这就是我所说的多米诺骨牌效应。一个相关的问题是涟漪效应,其中一项服务的变化可能需要改变下游服务。 – MattDavey
-2
REST API假设仅使用HTTP。这是相当石器时代的技术,不接受异步。消息。为了在那里插入消息,我会考虑WebSockets网关 -最终虚拟语句的发展
相关问题
- 1. 使用REST API和消息传递的微服务
- 2. Web服务与消息传递
- 3. 简单协议(如twisted.pb)与消息传递(AMQP/JMS)与Web服务(REST/SOAP)
- 4. 微服务消息选择
- 5. 查询Jersey REST服务时的消息传递异常(com.sun.jersey.api.MessageException)
- 6. 如何创建消息传递服务?
- 7. WCF服务间消息传递
- 8. Restful服务和消息传递
- 9. 消息传递服务:redis还是mongodb?
- 10. 针对微服务的基于REST的消息队列
- 11. 消息队列与消息传递
- 12. Java消息传递服务 - 未收到消息
- 13. 无法从服务器发布消息:Google云消息传递
- 14. 云消息传递或REST API?
- 15. 与Guava的EventBus一样工作的消息传递服务
- 16. Web服务与消息传递以检索视图数据
- 17. 消息传递与boost :: threads?
- 18. 消息传递与锁定
- 19. 服务器到服务器API消息传递
- 20. 春微服务:响应与信息来自其他微服务
- 21. 在调用REST服务期间传递错误消息的正确方法?
- 22. wcf rest服务消息日志记录
- 23. c#WCF客户端服务器消息传递/事务优化
- 24. WCF4 REST APIkey问题 - 将信息从ServiceAuthorizationManager传递到服务
- 25. 使用REST服务传递JSON C#
- 26. Rest - Jersey.Client将@SecurityContext传递给服务器
- 27. 在Rest Wcf服务中传递参数
- 28. 微服务到微服务调用,来自队列消息的授权
- 29. 当屏幕关闭时,Firebase消息传递服务没有收到消息
- 30. Google云消息传递服务允许您向iPhone发送消息吗?
HTTP,REST是规范。 RabbitMQ/Solace是邮件经纪人。您的问题是“基于HTTP/REST的服务的应用程序是什么”? – k1133
hmm可能使用REST应该使用的地方,应该使用消息传递的地方,或者组合..为什么这个而不是那种 –