← Back to team overview

graphite-dev team mailing list archive

Re: [Question #225327]: Deployment Layout Suggestions

 

Question #225327 on Graphite changed:
https://answers.launchpad.net/graphite/+question/225327

    Status: Open => Answered

Ben Whaley proposed the following answer:
Hi,


On Wed, Mar 27, 2013 at 7:56 PM, Ashley Baumann <
question225327@xxxxxxxxxxxxxxxxxxxxx> wrote:

>
> Should we be thinking about running copies of the webapp in all the DCs or
> is it best to ship all the metrics from across the service to a single
> location and use a 1 webapp to graph it all?
>
You'll definitely want all the data in the same DC to query from the web
app. The latency will be too high for the web app to be usable if it's
querying remote caches.

> How should I lay out carbon-cache/relay to spread the load and allow us to
> scale graphite as the service or number of metrics grow?
>

I like to send data to a local carbon relay in each DC, then use
replication_factor to relay data to both a local cache and your central DC.
In the central DC, use another relay to distribute the data among carbon
cache cluster members. The specifics of how your carbon caches in the
central DC are configured depend on the hardware in use. If you can, use
SSDs on boxes with several cores. In my ideal world I'd set up 2-3 hosts
and use consistent hashing to distribute the metrics. If you need to scale
out your carbon cluster, you'll have to play the whisper-file
redistribution game. Richard Crowley has a nice post on this (and federated
graphite in general) here

http://rcrowley.org/articles/federated-graphite.html

BTW, if anyone knows of a nicer way to redistribute whisper files after
adding a new cache to the cluster I'd love to hear about it.


- Ben

-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.