Krishna,

I'll mention that we also have a short guide on custom LBs 
<https://grpc.io/docs/guides/custom-load-balancing/> that can help you with 
the fundamentals.

On Monday, November 6, 2023 at 3:53:01 PM UTC-8 Larry Safran wrote:

> Yes, you will need a custom NameResolver.  
> You could have your NameResolver do one of the following
> 1)  Extend DnsNameResolver (as is done by the internal GrpcNameResolver) 
> and override the doResolve method
> 2)  Directly extend NameResolver and have a field with a DnsNameResolver 
> created through the DnsNameResolverProvider (which should be gotten from 
> the registry).  
>
> There is already a load balancer that is switching between 2 child load 
> balancers.  It is experimental and can be specified as 
> "priority_experimental".  What it does is to use a specific attribute that 
> must be set by the NameResolver.  Even if you go with your own load 
> balancer, that would be the best way to differentiate which addresses 
> should be used for which child.  If you want to use it as an example, it is 
> https://github.com/grpc/grpc-java/blob/master/xds/src/main/java/io/grpc/xds/PriorityLoadBalancer.java
>
>
>
> On Mon, Nov 6, 2023 at 1:53 PM Krishna Sai Veera Reddy <
> krishnasaiv...@gmail.com> wrote:
>
>> Hey Larry,
>>
>> Thank you for your response! Are there any examples out in the wild on 
>> how to do this? Also the part that is confusing me is the name resolution. 
>> Do we have to add a custom name resolution policy as well so that we get 
>> both the LB and round robin IP addresses in `acceptResolvedAddresses 
>> <https://github.com/grpc/grpc-java/blob/master/examples/src/main/java/io/grpc/examples/customloadbalance/ShufflingPickFirstLoadBalancer.java#L66>`
>>  
>> method in the LB policy?
>>
>> On Friday, November 3, 2023 at 12:50:20 PM UTC-7 Larry Safran wrote:
>>
>>> This is a perfect scenario for a custom LB policy.  Since LB policies 
>>> form a tree, you could easily have your policy delegate to either a 
>>> PickFirst or RoundRobin policy depending on whether or not the LB is up.  
>>> Just have your policy define a ForwardingLoadbalanceHelper whose 
>>> updateBalancingState passes the picker from the oppropriate downstream 
>>> policy.
>>>
>>> On Fri, Nov 3, 2023 at 12:29 PM Krishna Sai Veera Reddy <
>>> krishnasaiv...@gmail.com> wrote:
>>>
>>>> Hello All,
>>>>
>>>> I am working on a gRPC client that connects to a gRPC service fronted 
>>>> by an LB but would like the client to automatically fallback to using 
>>>> round-robin DNS to directly connect to the backend servers when the LB 
>>>> goes 
>>>> down. How do I go about this? Would I need to implement my own custom LB 
>>>> policy? Any help is appreciated and thanks in advance!
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "grpc.io" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to grpc-io+u...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/grpc-io/df8f4a85-5020-4c68-bb94-cbea67d7c75an%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/grpc-io/df8f4a85-5020-4c68-bb94-cbea67d7c75an%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "grpc.io" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to grpc-io+u...@googlegroups.com.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/2e7b95aa-cd66-40f5-bf41-0484fa12892cn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/2e7b95aa-cd66-40f5-bf41-0484fa12892cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/51db24a6-3faa-4f9e-a979-54a0d5368921n%40googlegroups.com.

Reply via email to