graphite-project/carbon — pull request #338 by milosgajdos83 (2014-12-05 18:27:52+00:00)
Title: Adds direct AMQP exchange option in addition to the default topic one

With this PR you have an option to run multiple carbon-relays which can
essentially behave as "workers". These carbon "workers" are reading in
metrics from the ```direct``` AMQP exchange and distribute them to carbon-caches
or to other relays based on relay method - there is no binding key necessary.
Previously you could only distribute based on binding/routing key
so you were not able to have true relay WORKERS because having them
running like that would generate duplicate writes on your drive.
With topic exchange and default binding key '#' you'd always get duplicate writes.
Direct exchange allows metric to be consumed by ONE carbon cache worker - the
mirroring is then handled vi carbon itself by specifying a particular carbon configuration.