I'm trying to get a gRPC client/server running using nodejs under Docker swarm.
The gRPC server is setup using Dockers `endpoint_mode: dnsrr` so that dns has multiple A records (one for each instance of the server). The gRPC client is running as another Docker service, with the gRPC option {'grpc.lb_policy_name': 'round_robin'}. With this setup, everything runs nicely and requests are load balanced between the gRPC server instances.
If I restart the gRPC servers and they get the same IP addresses as they previously had, everything continues to work well, the client is able to re-establish connectivity. However, if the IP addresses change, the client never manages to establish contact with the new server instances.
My understanding was as soon as all 'sub-channels' were unavailable, gRPC was supposed to requery DNS. This doesn't appear to be happening.
I was using version 1.6.6, however have also tried 1.7.0-pre1 and getting the same results.
Appreciate any help or guidance anyone is able to provide.
Regards,
Daniel