Static configuration

In this scenario you configure a central DistCC ELB server with a static list of build servers. Each build server offers distcc services for one or more platforms. You can configure the maximum number of jobs that each server can handle, as well as IP address/port number to reach a distcc service for a particular platform. An example configuration would look like this:

listen: :3632

servers:
  - hostname: server1
    speed:    100
    slots:    4
    address:  192.168.1.34
    platforms:
      - port: 3632
      - name: win32
        port: 3633
      - name: osx
        port: 3634

  - hostname: server2
    speed:    100
    slots:    4
    address:  192.168.1.35
    platforms:
      - port: 3632
      - name: win32
        port: 3633
      - name: osx
        port: 3634

Dynamic configuration

In this scenario the central DistCC ELB would be configured without a list of build servers. On each build server, you would run another DistCC ELB service that has a configuration for the platforms supported by this server. This DistCC ELB service notifies the central service about these configured distcc services. When a build server goes down, the central service will automatically stop distributing new jobs to that server.

The central DistCC ELB's configuration would be minimal like this:

listen: :3632

On each build server, you would have a configuration like this:

master: distccelb-master-host

servers:
  - platforms:
      - port: 3632
      - name: win32
        port: 3633
      - name: osx
        port: 3634

Workstations with uniform platform

This is similar to the "Dynamic configuration" in that the central DistCC ELB would not know about existing build servers in advance. Each workstation would be configured to provide distcc builds for a single platform, and notify the central service about its existence.

The central DistCC ELB's configuration would be minimal like this:

listen: :3632

On each workstation, you would have a very minimal configuration like this:

master: distccelb-master-host