Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.
Apache License 2.0
4.58k
stars
1.24k
forks
source link
How to determine LoadBalancer choose server for a retry? #485
Both the interface IRule's method choose and ILoadBalancer's method chooseServer has only one parameter named key, so I can't choose the server diffrent for a retry.
I try to explain the issue with an example:
We have two Servers (Server A@zone1 and Server B@zone2) and my ribbon configuration is:
MaxAutoRetries=0
MaxAutoRetriesNextServer=1
I customizing the load balancing rule choose the Server A@zone1 allways normally.
How can I choose the Server A@zone2 for a retry?
Both the interface IRule's method choose and ILoadBalancer's method chooseServer has only one parameter named key, so I can't choose the server diffrent for a retry.
I try to explain the issue with an example: We have two Servers (Server A@zone1 and Server B@zone2) and my ribbon configuration is: MaxAutoRetries=0 MaxAutoRetriesNextServer=1
I customizing the load balancing rule choose the Server A@zone1 allways normally. How can I choose the Server A@zone2 for a retry?
Best regards!