Why AllQueue?

There are many queeing platforms available that all have their own strengths and weaknesses.

For many their weakness is complexity and maintenance. RabbitMQ, Apache ActiveMQ, HornetQ, and NATS to name a few. While these are industry tested, deploying, maintaining and updating them are no small task. Additionally, when something goes wrong with a single component, it is often difficult to deduce the underlying problems.

For some, their weakness is a lack of functionality. For example, AWS SQS doesn't have any sense of prioritization. Some queue don't have a sense of "fail after X attempts". Few queues have built in throttling for individual queues. Even fewer have a sense of 'workflows', where one job waits until another one (or many) are completed before running. AllQueue is an attempt to meet all these needs.

Here is a list of features that AllQueue has:

  • Simple deployment/configuration

  • Delayed Jobs

  • Independent named queues

  • Prioritization within a queue (no need for different queues for 'priorty' jobs)

  • Dead Letter queue

  • Synchronous workflows (Jobs that depend on other jobs completing)

  • Throttling queues

  • In memory/disk based persistance

  • Federated sharding for scalability

  • Does not require ongoing maintenance of internal storage or sub-applications

  • Speed

Limitations:

  • Docker ONLY install, on both client and server

  • Not designed for long life jobs

  • Work queue, NOT a pub/sub queue, pull only

Last updated