Skip to content
This repository was archived by the owner on Feb 18, 2021. It is now read-only.
This repository was archived by the owner on Feb 18, 2021. It is now read-only.

Question: Highly available statsd #56

Description

@SegFaultAX

Hello statsrelay team!

I'm curious about how Uber runs statsd in production, in particular:

  1. How many statsrelays do you have in front of your statsd cluster?
  2. How are statsrelays+statsds configured for high availability?
    • 1 primary, N standbys, keepalived/etc. to coordinate automatic failover
    • N primaries, tcp load balancer (haproxy/etc.), coordinated virtual shard configuration updates
    • something else?
  3. If you're running multiple relays that can accept writes, how do you coordinate configuration updates so all relays get the updated shard configuration at the same time? How do you handle network partitions between relays and statsd? What if only a subset of the relays see the partition?
  4. How do you scale your cluster? If the cluster is elastic, how do autoscale your cluster?
  5. How are you monitoring statsrelay? statsd? How do you detect unhealthy statsds and rebalance the shard configuration to compensate?

Unfortunately it seems that not very many people are talking about running HA statsd, at least relative to the number of people ostensibly using statsd. I'm encouraged to see that Uber has dedicated a significant amount of time to making this possible, so any insight on how your architecture has worked out in practice would be hugely valuable.

Thanks for your time and awesome work!

  • Michael-Keith

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions