βMust Haveβ Enhance your micro-service testing, maintenance & overall development productivity.
Spring Cloud Ribbon Extensions is a set of load balancing rules that chooses which server to target. It comes with handy features for easy integration, configuration and customization.
- java 8
- spring boot 1.5.x
- spring cloud Daslton.
- java 8
- spring boot 2.0.x
- spring cloud Finchley
- spring cloud netflix ribbon.
- spring cloud netflix eureka.
- spring cloud netflix zuul.
- spring cloud netflix hystrix.
- spring cloud openfeign.
- spring and java executors.
- spring stomp.
- jms.
@EnableRibbonZoneAffinity: Enables routing to the same zone: see the tests for concrete usage and configurations.
Designed mainly for micro-services that should calls others in the same zone.
@EnableRibbonFavoriteZone: Enables routing to a favorite zone: see the tests for concrete usage and configurations.
Designed mainly for testing a micro-service among an existing micro-service architecture without disruption. This is the feature that triggered this project.
@EnableRibbonStrictMetadataMatcher: Enables routing to servers that have a set of metadata: see the tests for concrete usage and configurations.
Designed to target a specific micro-service that holds a point to point connection with an external system (like FIX,...)
Requires Eureka.
@EnableRibbonDynamicMetadataMatcher: Enables routing against a dynamic key: see the tests for concrete usage and configurations.
Designed to target a specific micro-services that holds multiple point to point connections with many external systems (like FIX,...)
Requires Eureka.
@EnableContextPropagation: Enables sharing the execution context through all the micro-services: see the tests for concrete usage and configurations.
Designed to propagate the execution context across the micro-services architecture.
What does it support:
- Transport: http, jms, stomp.
- Async: java, spring, Hystrix.
- Zuul
Eureka:exclamation: Let's enter a world of easy development and testing with micro-service architecture.
- Developers are able to deploy & debug their own micro-service and get back any request they have initiated disregarding the entry point and without being annoyed by the requests they have not initiated.
- Deploying in multi region-and let our clients (that have no knowledge of eureka, ribbon, zuul) choose the zone they prefer to target.
- And other things that I have not thought about...
maven
<dependency>
<groupId>com.github.enadim</groupId>
<artifactId>spring-cloud-ribbon-extensions</artifactId>
<version>2.0.0</version>
</dependency>
gradle
dependencies {
compile 'com.github.enadim:spring-cloud-ribbon-extensions:2.0.0'
}
Any help is welcome. π