我正在构建一个可伸缩的Rails应用程序。当用户对应用程序进行操作时,我将响应状态200,然后根据用户操作异步地将一些分析数据推送到DynamoDB。
这样做的一种方法是在侧翼队列中推送作业。还有其他方法可以做到吗?使用SQS/RabbitMQ是一种更优雅的方法吗?我可能需要执行2-3个操作(发送通知、保存数据分析等等)?
谢谢,
编辑: Redis + Sidekiq完成这项工作。在这里,Redis作为消息队列工作,Sidekiq在后台处理这些消息。我很想知道,在Redis + Sidekiq上选择显式代理(如RabbitMQ、SQS、Redis PubSub)有什么用例和好处?
发布于 2017-05-03 08:49:55
您说得对,SQS/RabbitMQ是更好的选择。但还有更多..。
我做了一些研究,发现了这。
根据这一点,卡夫卡在性能方面更好。它还提供了流数据处理框架卡夫卡流(如果您想在推进到DynamoDB之前对数据进行小的转换)。
https://stackoverflow.com/questions/43752882
复制相似问题