Release 4.0.0
This release offers many new features that will improve the resiliency and overall performance of the Eureka client.
New features:
- Improved strategies around cluster resolution (#68). Eureka cluster hosts can be statically configured per availability-zone using a map, or a list of hosts for simpler or non-zoned deployments.
- Zone affinity for DNS-based and static-based cluster configurations. By default, when the Node application is deployed in a zone-based datacenter (AWS, etc), the client will first try to connect to the Eureka server located in the same availability-zone as it's currently in. This behavior can be disabled through configuration.
- New middleware option for Eureka requests (#84). The client now exposes the ability to modify the outgoing request options object prior to a Eureka call. This is useful for setting authentication or other headers before the request is executed.
Breaking change:
getInstancesByAppIdandgetInstancesByVipAddressnow always return an array. If there are no instances in the registry you will get an empty array back instead of undefined. This change allows developers to chain.filteror.maponto the method call without having to check for undefined.
Other Notes:
- Even with all the new code, coverage is still up 2% to +96%. Thanks to everyone who helped build/test these features!