Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

gbuckingham89's avatar

Robust Queue infrastructure

I'm looking into the best infrastructure to make my Laravel queues fault-tolerant / highly available and need some advice.

Up until now, I've been self hosting a Redis instance on a VPS. If that VPS goes down, so does the processing of my queues. I want to resolve that as I move my app into AWS.

My goals:

  1. High availability / fault tolerant across AWS regions (I have jobs that need need to run in specific geographical locations). The engine used to store my queue jobs needs to support failing over to other instances as smoothly / quickly as possible to ensure near 0 downtime.

  2. If possible I'd like to continue using Horizon.

My thoughts so far:

  • Elasticache (Redis) is ruled out because it doesn't support cross region access (or access outside of AWS) without using VPNs.
  • Self host a Redis instance on EC2 that's strictly locked down via SecurityGroups and UFW. This doesn't meet my #1 requirement of failover.
  • Redis looks out anyway - I understand clusters are needed to support failover and from some Github Issue comments from Taylor Otwell, it seems Horizon doesn't support Redis clusters (https://github.com/laravel/horizon/issues/382#issuecomment-457218264).
  • Use the Database queue driver (multi-az RDS MySQL). This means Horizon is out. Also, my understanding is this isn't reliable / performant at scale?
  • AWS SQS looks interesting, but I have no experience with it. That fact Horizon isn't supported I can probably live with, but does the AWS console give any insights into queue load? What do I need to consider when choosing between "Standard" and "FIFO" queues? If I choose FIFO, it looks like a 3rd party package (https://packagist.org/packages/shiftonelabs/laravel-sqs-fifo-queue) is needed? If I choose standard, does Laravel handle the risk of getting a job more than once?

Any thoughts / advice is greatly appreciated!

0 likes
1 reply
bugsysha's avatar

Too broad topic to answer it quickly. I had no issues with setup which is described in the Scaling Laravel course.

Please or to participate in this conversation.