如何从 AMQ 迁移到 SQS

How to Migrating from AMQ to SQS

我在当前的应用程序中使用 3 AMQ 并决定现在使用 SQS 代替 AMQAMQ 我一直在使用 EC2 和微服务来生产和消费 AMQ

现在,当我决定以无服务器方式迁移到 SQS 时,我在想如何在这里使用它? 这是我的担忧。

  1. SQS 将承受来自 SNS 的繁重负载,并且在服务器较少的情况下,lambda 会自动处理它,但是当我在当前应用程序中替换时,EC2 应用程序将如何处理它?

  2. 我在这里需要自动缩放组吗,这样如果 SQS 中的负载很重,那么就会出现更多的 ec2 应用程序?

  3. 有什么方法可以让我的 EC2 现有应用程序使用 lambda 消费者,以便我经过良好测试的 EC2 应用程序保持原样,并且我也可以使用我的 lambda 函数?

The SQS will have heavy load coming from SNS and in server less way lambda handles that automatically but when i replace in my current application how EC2 application is going to handle that ?

您的 EC2 应用程序将如何准确处理什么? "load"? SQS 消费者(您的 EC2 实例)仅在准备好消费更多消息时才会轮询 SQS 以获取新消息。 SQS 不推送消息,因此它不会以某种方式使您的 EC2 实例过载。 SQS 只是接受消息并存储它们,直到有人要求它们(或直到消息超时)。

Do i need auto scaling group here so that if heavy load in SQS then more ec2 application will come up ?

仅当您希望在特定时间范围内处理邮件时。

Is there any way i can use lambda consumer with my EC2 existing application so that my well tested EC2 application remain as it is and i would be able to use my lambda function also?

在这种情况下,Lambda 函数究竟会做什么?这里唯一的选择是将您的 EC2 应用程序转换为 Lambda 应用程序。否则,Lambda 无法对 "help" 您的 EC2 实例处理 SQS 消息做任何额外的事情。