1)carbonrelay layer:
both types of relays: replication and fanout. Doesn't need to scale, but it is still possible.
2)carboncache layer:
two carbon-caches and a graphite-webapp per node (I recommend instances with at least two cpus). You can scale manually as necessary. Don't scale down unless you know what you're doing.
Decided to go with two layers:
1)carbonrelay layer: both types of relays: replication and fanout. Doesn't need to scale, but it is still possible. 2)carboncache layer: two carbon-caches and a graphite-webapp per node (I recommend instances with at least two cpus). You can scale manually as necessary. Don't scale down unless you know what you're doing.
See https://github.com/lesaux/opsviz/blob/feature/graphite_breakdown/drawings/OpsViz_Graphite_Cluster.pdf for detailed diagram.