restate icon indicating copy to clipboard operation
restate copied to clipboard

Add support for handling multiple A records when talking to the replicated metadata server

Open tillrohrmann opened this issue 1 month ago • 1 comments

Currently, we rely in our K8s operator and with our helm charts that the restate ClusterIP service resolves to any of the available pods. In certain scenarios, e.g. when using clever service meshes that do zone local routing, nodes won't reach every available pod. The same is true when using a headless service and getaddrinfo implicitly does zone local routing. The bad things that can happen are that a node is not able to join a cluster because it only reaches zone local nodes that aren't part of the cluster either.

A way to solve the problem is to support resolving DNS into multiple IP addresses and going through all addresses in a round robin fashion when trying to connect to the replicate metadata server through the GrpcMetadataServerClient.

tillrohrmann avatar Nov 13 '25 16:11 tillrohrmann

cc @jackkleeman

tillrohrmann avatar Nov 13 '25 16:11 tillrohrmann