首页 > 解决方案 > 服务于 REST api 的 nodejs Web 服务,同时也是消息队列的消费者

问题描述

我正在构建一个应用程序并尝试遵循微服务的最佳实践,目前正在学习消息队列的主题及其相对于 REST API 的优势。

我的主要问题是,在后端提供一个面向外部的 REST API 并同时充当消息队列消费者的 Web 服务是不是一个坏主意?

细节:

我在 NodeJS 中有一个名为 MyObjectService 的服务,它的面向外部的 REST API 是驻留在数据库中的 MyObject 上的简单 GET。我有另外两个服务想要更新 MyObject 的状态,而不是将另外两个服务直接连接到数据库来更新对象,我想排队更新对象以供 MyObjectService 使用,然后 MyObjectService 将更新数据库中的 MyObject。这将有助于提高可用性和松散耦合。

这是不好的做法,尤其是对于 NodeJS(由于 NodeJS 的单线程方面?),正确的解决方案是拥有两个独立的服务,一个 GETs MyObject,另一个 UPDATEs MyObject?还是我所描述的完全可能?

我将不胜感激对此的任何想法。谢谢你。

标签: node.jsrestarchitecturemicroservicesmessage-queue

解决方案


推荐阅读