这是我的设置:
一个dockerized环境,带有用于RoR后端和ReactJS前端的独立docker容器。我想将事件发布到AWS SQS队列,我想根据SQS中的messaged对MongoDB执行操作。 SQS已设置为跟踪两个不同存储桶上的事件,例如bin和bout。什么是e
事件流程:
我的问题:
有人可以让我对此有所了解吗? LMK,如果我需要绘制图表来解释流程。谢谢!
答案 0 :(得分:0)
如果我理解正确的话,我不是100%,但是你想要实现的是简单的工作流程,而某些任务可能需要很长时间。您所要做的就是创建一个或多个Worker环境。这样的环境已经自动安装恶魔。这个恶魔从队列中获取消息并将其发送到应用程序的一个POST REST动作。如果您使用代码200响应该调用,它将从队列中删除消息。如果不是,它将重试几次并将消息发送到死信队列(如果已配置)。
因此,您必须在应用程序中开发一个或多个REST操作来处理您的消息(或创建许多应用程序)。如果您希望使用一个REST操作创建一个应用程序,那么您必须在消息中发送一些信息,它是什么类型(消息1,2,3),因为工作者只能有一个REST操作入口点。
队列数取决于您,您可以拥有一个包含所有消息类型和一个工作人员的队列,或者您可以拥有2-3个队列,每个队列都附加有工作者。它只取决于任务的性质。如果他们需要花费相同的时间来执行,并且您不希望更快地处理某些消息类型,那么我可能会使用一个队列和一个工作人员以及说出"我是类型1和#34;的消息。
可以使用不同的技术(java,nodejs,python,ruby,某些docker容器)创建worker,唯一的要求是应用程序有POST REST动作将消息发送到