带有 aerospike 和 node.js 的任务管理器

Task manager with aerospike and node.js

我在网络应用程序中使用 node.js 和 aerospike。 当用户 post 提及或关注我必须在时间轴 or/and 通知上做工作时。 在 node.js 向客户发送响应后,我想 运行 这些工作。

我运行了解任务管理器和消息代理,但我不确定是否理解

所以我的问题是因为 node.js 中的操作是异步的,而 aerospike 是同步的和多线程的-> 将响应发送到客户端然后使用 aerospike 完成这些工作是否是个坏主意(或者我可以因复制、云等而丢失一些东西)

或者我被迫使用 RabbitMQ 之类的?

node.js的异步性不影响Aerospike服务器的同步性。这只是客户端的行为以及 API 的设计方式。它不会影响服务器端的功能。一些 Aerospikes 客户端(如 java)同时提供同步和异步 API.

来到问题的后半部分,您似乎在考虑先响应客户,然后再在Aerospike上触发工作。这不是特定于 aerospike 的,但我看到的唯一风险是您可能已向客户端响应 "success" 消息,但服务器端作业可能由于任何原因(超时、mem/disk 已满、网络故障、服务器停机等)。如果您可以接受这种风险,我看不出有任何其他重大问题。