You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Marvin Froeder
2cb72cf3fa
|
1 year ago | |
---|---|---|
.. | ||
src | ||
README.md | 1 year ago | |
pom.xml | 1 year ago |
README.md
Ribbon
This module includes a feign Target
and Client
adapter to take advantage of Ribbon.
Conventions
This integration relies on the Feign Target.url()
being encoded like https://myAppProd
where myAppProd
is the ribbon client or loadbalancer name and myAppProd.ribbon.listOfServers
configuration is set.
RibbonClient
Adding RibbonClient
overrides URL resolution of Feign's client, adding smart routing and resiliency capabilities provided by Ribbon.
Usage
instead of
MyService api = Feign.builder().target(MyService.class, "https://myAppProd-1234567890.us-east-1.elb.amazonaws.com");
do
MyService api = Feign.builder().client(RibbonClient.create()).target(MyService.class, "https://myAppProd");
LoadBalancingTarget
Using or extending LoadBalancingTarget
will enable dynamic url discovery via ribbon including incrementing server request counts.
Usage
instead of
MyService api = Feign.builder().target(MyService.class, "https://myAppProd-1234567890.us-east-1.elb.amazonaws.com");
do
MyService api = Feign.builder().target(LoadBalancingTarget.create(MyService.class, "https://myAppProd"));