Isaac Reath created CASSSIDECAR-490:
---------------------------------------
Summary: Add support for publishing ring health to an external
system
Key: CASSSIDECAR-490
URL: https://issues.apache.org/jira/browse/CASSSIDECAR-490
Project: Sidecar for Apache Cassandra
Issue Type: Improvement
Components: Observability
Reporter: Isaac Reath
Today, Sidecar provides API endpoints (/api/v1/cassandra/ring and
/api/v1/cassandra/ring/keyspaces/:keyspace) to access the current ring health
from the perspective of the Cassandra instance the sidecar is configured
against. This gives consumers a polling API to understand the state of the
cluster from the perspective of one node at any given time. Gathering the full
ring-health matrix from these per-node endpoints presents a number of
challenges:
- Aggregators must be ring-aware, tracking when nodes join or leave the
cluster so they know which nodes to start or stop polling.
- HTTP connection establishment may be unreliable under heavy load, so ring
health is hardest to observe from exactly the node under stress.
- Retry logic to aggregate per-node ring health across the cluster is complex
and error-prone.
To close these gaps, this ticket proposes adding ring-health publishing to
Sidecar as an alternative to consumers polling the ring-health API. Each
Sidecar instance will periodically push its local node's view of ring health to
downstream consumers. This adds a new pluggable interface for publishing ring
health, with an initial Kafka-based implementation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]