Node.js 为RESTAPI服务的nodejs web服务,同时也是消息队列的使用者

Node.js 为RESTAPI服务的nodejs web服务,同时也是消息队列的使用者,node.js,rest,architecture,microservices,message-queue,Node.js,Rest,Architecture,Microservices,Message Queue,我正在构建一个应用程序,并试图遵循microservice的最佳实践,目前正在学习消息队列的主题及其相对于RESTAPI的优势 我的主要问题是,在后端有一个web服务,它提供面向外部的RESTAPI,同时充当消息队列的使用者,这是一个坏主意吗 详情: 我在NodeJS中有一个名为MyObjectService的服务,它的面向外部的restapi是一个简单的获取驻留在数据库中的MyObject的方法。我还有另外两个服务想要更新MyObject的状态,而不是将另外两个服务直接连接到数据库来更新对象,

我正在构建一个应用程序,并试图遵循microservice的最佳实践,目前正在学习消息队列的主题及其相对于RESTAPI的优势

我的主要问题是,在后端有一个web服务,它提供面向外部的RESTAPI,同时充当消息队列的使用者,这是一个坏主意吗

详情:

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

这是一种糟糕的做法吗,尤其是在NodeJS中(由于NodeJS的单线程方面),正确的解决方案是使用两个单独的服务,一个获取MyObject,另一个更新MyObject?还是我所描述的完全可能


如果你能想到这一点,我将不胜感激。谢谢。

我曾经使用RabbitMQ向NodeJS应用程序添加消息支持