AllQ
  • What is AllQueue?
  • Getting Started
  • Install
    • Why AllQueue?
    • Architecture
    • 1. Install AllQueue Server
    • 2. Install AllQueue Client
    • Installation (Quick Start)
  • Foundational Concepts
    • Talking to AllQueue
    • Server/Client
    • Jobs
    • Tubes
    • Persistence
  • Features
    • Autobury Failed Jobs
    • Delayed Jobs/Scheduling
    • Priority
    • Workflow
    • Throttle
    • Fair Queuing
  • Configuration
  • Rest API Usage
  • Scenarios
  • Advanced
    • Docker Configuration Options
    • Federation Deployment
Powered by GitBook
On this page

Was this helpful?

  1. Advanced

Federation Deployment

Server cluster for Enterprise setup

The main way that AllQueue is distributed is via federation.

WARNING: Since the client handles all communications, it is IMPORTANT that you DO NOT put AllQueue server behind a load balancer. It is designed to be federated ONLY and that cannot be load-balanced

You have 1+ servers, and your AllQueue clients know about 1 or more of them. It is not necessary they know about all of them. The client will random pick which server to pull a job from and the client will track where the job needs to go back to when completed.

The more servers you have, the more the workload is distributed among them, this allows for less load on the servers, and moving a small amount of processing back to the client. This works well in a large system, where you have 1k clients, and a small number servers.

With federation, the servers do not need to know about one another. They are siloed information stores. Only the client knows about multiple servers.

To achieve this federation, you would configure you client to know about multiple server via the ENVIRONMENT value:

SERVER_STRING: <server 1>,<server 2>

Note, the servers are separated by commas

If a server stops working the client will switch to only using the available servers.

PreviousDocker Configuration Options

Last updated 4 years ago

Was this helpful?