Several configuration settings of the Ribbon client may be overridden with Spring bean declarations. As with Feign, it should be declared in the client annotation field named configuration, for example,@RibbonClient(name = "account-service", configuration = RibbonConfiguration.class)
. The following features may be customized with this approach:
IClientConfig
: The default implementation of this isDefaultClientConfigImpl
.IRule
: This component is used to determine which service instance should be selected from a list. TheZoneAvoidanceRule
implementation class is auto-configured.IPing
: This is a component that runs in the background. It is responsible for ensuring that the instances of service are running.ServerList<Server>
: This can be static or dynamic. If it is dynamic (as used byDynamicServerListLoadBalancer
), a background thread will refresh and filter the list at a predefined interval. By default, Ribbon uses a static list of servers taken from configuration...