繁体   English   中英

通过SQS将Node.js API中的数据发送到Java worker,然后通过SQS将worker的结果返回给API

[英]Send data from Node.js API through SQS to Java worker and return the result of the worker to the API through SQS

我正在创建日志记录服务。 体系结构如下:Node.js API,它接收来自网站的请求(可以获取或发布请求),该请求被发送到SQS消息队列,Java工作者正在侦听SQS的消息(如果有)发布后,我将数据写入Cassandra数据库中。 如果成功,我将从Cassandra中读取必要的数据,进行一些计算,然后将其返回给Node.js API,然后由后者将其返回给客户端。

阅读的部分对我来说有点模糊。 是否可以在SQS中将数据作为消息返回? (我认为一条消息只能包含256KB数据,而读取的数据则可以包含更多信息)。我将运行Node API的多个实例,因此有一种方法可以知道我需要向哪个实例返回数据? 我是否应该创建一个Java API来接收来自Node API的读取请求(绕过SQS)? 做这个的最好方式是什么?

我应该使用消息队列来检索分析数据,还是应该仅连接到准备数据并从那里接收数据的服务?

您实际上并没有从SQS返回数据到node.js,nodejs必须轮询队列,并且需要在消息到达时对其进行操作。

因此,您可以使用两个队列,一个用于传入消息(您的帖子),然后另一个队列用于传出消息(您的获取)。 但是在所有情况下,都要使用轮询这些消息的过程来轮询它们-您不能将消息“推”到侦听器,而侦听器则需要“拉”到它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM