2016-12-07 75 views
6

我听说亚马逊使用HTTP来实现基于微服务的体系结构。另一种方法是使用像RabbitMQ或Solace系统的消息系统。我个人有基于Solace的微服务体系结构的经验,但从来没有使用过REST。
任何想法像亚马逊,Netflix,英国政府等各种大联盟实施使用?
其他方面是,在微服务,事情需要(除了其他)以下:
*模式匹配
*异步消息..接收系统可以是向下
*发布订阅
*缓存加载事件..即上启动时,服务可能需要加载来自其他一些服务的所有数据,并且在数据完全加载时应该被通知,以便它可以'知道'它现在已经准备好服务请求了。
这些方面是自然的使用消息而不是REST完成。为什么任何人都应该使用REST(公共API除外)。谢谢。微服务:REST与消息传递

+0

HTTP,REST是规范。 RabbitMQ/Solace是邮件经纪人。您的问题是“基于HTTP/REST的服务的应用程序是什么”? – k1133

+0

hmm可能使用REST应该使用的地方,应该使用消息传递的地方,或者组合..为什么这个而不是那种 –

回答

9

过去我遵循的一个标准是当关键要求是速度(并且数据丢失不重要)和关键要求是可靠性时发送消息时使用Web服务。就像你所说的那样,如果接收系统关闭了,一条消息将会放在队列中,直到系统恢复正常处理它为止。如果它是一个REST端点并且它已关闭,则请求将会失败。

+4

+1,你可能想要考虑同步通信(REST)的耦合影响,如果一个失败的所有家属将失败,因此除了丢失数据之外,它还可能导致连锁反应,从而导致整个系统失效。 –

+0

@SeanFarmar这就是我所说的多米诺骨牌效应。一个相关的问题是涟漪效应,其中一项服务的变化可能需要改变下游服务。 – MattDavey

-2

REST API假设仅使用HTTP。这是相当石器时代的技术,不接受异步。消息。为了在那里插入消息,我会考虑WebSockets网关 -最终虚拟语句的发展

相关问题