Amazon web services 使用Mandrill邮件服务排队(SQS)
我想创建一个包装mandrill api的mailer微服务,这样我的所有服务都不需要知道我们的mandrill api密钥。理想情况下,我会有一个消息队列,在向队列添加消息时,lambda会向mandrill发送一个电话来发送电子邮件 然而,这种方法存在两个问题Amazon web services 使用Mandrill邮件服务排队(SQS),amazon-web-services,aws-lambda,amazon-sqs,Amazon Web Services,Aws Lambda,Amazon Sqs,我想创建一个包装mandrill api的mailer微服务,这样我的所有服务都不需要知道我们的mandrill api密钥。理想情况下,我会有一个消息队列,在向队列添加消息时,lambda会向mandrill发送一个电话来发送电子邮件 然而,这种方法存在两个问题 SQS没有lambdas的触发器 这在本质上是事务性的,我希望避免发送电子邮件和lambda超时,然后才能从队列中删除消息,这样就不会再次发送消息 这里的问题是,每次readMessage呼叫,我最多可以收到10条消息。为什么会这样?
readMessage
呼叫,我最多可以收到10条消息。为什么会这样?我想他们希望人们使用SES来实现这一点,但什么是获得这一功能的好方法呢?希望这是异步的,不需要附加到我们的API,这样我们就可以避免对请求进行身份验证
此服务的良好体系结构解决方案是什么?“这里的问题是,每次readMessage调用最多可以收到10条消息。为什么会这样?”为什么会这样?其思想是,如果获取少量消息,则处理它们,然后将它们从队列中删除。如果速度(messages/sec)是一个优先事项,那么几乎可以肯定的是,您可以通过拥有多个消费者来解决这一问题——每个消费者都会自动获取一组当前未在传输中的消息(即,当前正在处理另一个消费者)。在这样的应用程序中,您可能只希望一次获取1个,而不是10个,处理它,然后从队列中删除。还要注意的是,AWS承诺未来将进行SQS+Lambda集成,但没有提供任何日期。