Implement DnsAddressResolver and ResolveAsync for DNS Load Balanced clusters - #466
Conversation
DnsAddressResolver and ResolveAsync for DNS Load Balancer clustersDnsAddressResolver and ResolveAsync for DNS Load Balanced clusters
|
Thanks for your contribution. @lukas8219 |
|
@Gsantomaggio Ok! Just waiting for the reply |
|
|
||
| { | ||
| logger?.LogDebug( | ||
| endPoint = await clientParameters.AddressResolver.ResolveAsync(broker.Host, (int)broker.Port).ConfigureAwait(false); |
There was a problem hiding this comment.
The idea is to have the load balanced implemented on client-side. Here you can see it iterates over the entries. So each call for ResolveAsync would return a different entry.
There was a problem hiding this comment.
All calls to Dns.GetHostEntryAsync return the same list. The Endpoint being returned on the default approach using Reverse Proxies (where IP doesn't change or doesn't mean anything) it would be constantly hitting the same entry over and over.
|
Thank you @lukas8219, |
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
|
@lukas8219 Thank you |
|
Sorry not linting it in time @Gsantomaggio !!I missed the first notification! 🤦♂️ Thanks for accepting it! |
Closes #454
What
Implements new methods to handle client-side load balancing for DNS load balanced clusters, fixing scenarios of retry exhaustion.