title: Redis queue to handle asynchronous task in Rails
body: <p>I'm building a scalable Rails application. When a user takes an action on the application, I'm responding with status <code>200</code> and then push some analytics data asynchronously to DynamoDB based on user action. </p>
  
  <p>One way to do this is pushing job in sidekiq queue. Is there any other way to do the same? Is using SQS/RabbitMQ is more elegant way to do this, as I might have to do 2-3 operations (send notifications, save data analytics etc)?</p>
  
  <p>Thanks,</p>
  
  <p><strong>EDIT:</strong>
  Redis + Sidekiq does the work. Here, Redis works as a message queue and Sidekiq processes those message in the background. I'm curious to know, what are the use cases and benefits of selecting an explicit broker(such as RabbitMQ, SQS, Redis PubSub) over Redis + Sidekiq? </p>