You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is it possible to configure circuit breakers at the request level for a node? In cases of node degradation, we'd like to continue serving traffic for other nodes in the cluster and partition off bad nodes till they recover.
The text was updated successfully, but these errors were encountered:
The closest we have is the combination of SendToReplicas and ReplicaSelector. This allows you to specify which replica to send data to for each slot whenever the cluster topology in rueidis needs to be updated, such as due to a network error.
client, err:=rueidis.NewClient(rueidis.ClientOption{
InitAddress: []string{"address.example.com:6379"},
SendToReplicas: func(cmd rueidis.Completed) bool {
returncmd.IsReadOnly()
},
ReplicaSelector: func(slotuint16, replicas []rueidis.ReplicaInfo) int {
fori, replica:=rangereplicas {
returni// return the index of a healthy replica
}
return-1// or send to the primary.
},
})
justinreddit
changed the title
request level circuit breakers
node level circuit breakers
Mar 25, 2025
Is it possible to configure circuit breakers at the request level for a node? In cases of node degradation, we'd like to continue serving traffic for other nodes in the cluster and partition off bad nodes till they recover.
The text was updated successfully, but these errors were encountered: