You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are using using Zuul 2.3 as API-Gateway and Archaius as configuration library for accessing dynamic configuration, all the ribbon properties are updated in to Archaius for every x sec , endpoint/host details of upstream is loaded using <vip>.ribbon.listOfServers ribbon property which will be read by implementation of AbstractServerList<DiscoveryEnabledServer> which in turn will be referred by loadbalancer, server list data is refreshed periodically from archaius in a refresh thread for each Origin.
Example:
Initially API /cat/dog is configured to go to host1, later if we update config to add prefix /test and endpoint to be host2. As the data is reflected in archaius and loadbalancer referencing server list(which in turn gets it from archaius) at different times, request is being routed to old host host1 by adding prefix /test until load balancer is updated with new server list.
How we can create our own AbstractServerList that will get updated at the same time that we read the Archaius configuration.
The text was updated successfully, but these errors were encountered:
We are using using Zuul 2.3 as API-Gateway and Archaius as configuration library for accessing dynamic configuration, all the ribbon properties are updated in to Archaius for every
x
sec , endpoint/host details of upstream is loaded using<vip>.ribbon.listOfServers
ribbon property which will be read by implementation ofAbstractServerList<DiscoveryEnabledServer>
which in turn will be referred by loadbalancer, server list data is refreshed periodically from archaius in a refresh thread for each Origin.So, the issue is because of an addition polling (other than archaius polling) which DynamicServerListLoadBalancer does to get the updated server list Ref: https://github.com/Netflix/ribbon/blob/master/ribbon-loadbalancer/src/main/java/com/netflix/loadbalancer/DynamicServerListLoadBalancer.java#L60-L61.
Example:
Initially API
/cat/dog
is configured to go tohost1
, later if we update config to add prefix/test
and endpoint to behost2
. As the data is reflected in archaius and loadbalancer referencing server list(which in turn gets it from archaius) at different times, request is being routed to old hosthost1
by adding prefix/test
until load balancer is updated with new server list.How we can create our own AbstractServerList that will get updated at the same time that we read the Archaius configuration.
The text was updated successfully, but these errors were encountered: