Skip to content

Releases: kumuluz/kumuluzee-discovery

v1.1.1

17 Apr 10:01
Compare
Choose a tag to compare

This minor release of KumuluzEE Discovery project comes with updated dependencies, support for Java 9+ and some minor improvements and bugfixes.

Enhancements

  • Added Java 9+ support.
  • Updated dependency versions.
  • Fixed retrieval of last known service version in some edge use-cases.
  • Fixed etcd initialisation,

v1.1.0

24 Jan 09:17
Compare
Choose a tag to compare

We’re announcing the availability of the KumuluzEE Discovery 1.1.0 extension, an update to the microservice discovery framework that uses etcd or Consul as the backend.

This update includes some quality of life changes and overall improvements to the resilience.

The injection of Optional types is now supported, allowing developers to decide what happens if the service cannot be found. Additional methods have been added to the interface; they can be used for programmatic microservice discovery and registration, which extend the interface functionality and enable integration with other discovery mechanisms.

The etcd implementation now returns the last known instance when discovering microservices, if all instances in the backend are deleted. This ensures operation with zero downtime, even if etcd is down for a short time.

The number of retries performed when backend cannot be reached is now configurable with the configuration key kumuluzee.discovery.etcd.initial-retry-count.

The kumuluzee.discovery.resilience configuration key has been added. If set to false it changes the default behavior to throw an exception as soon as a problem with etcd is detected. This option is useful for debugging etcd problems.

Service name format used when registering services to Consul has changed from 'environment'/'serviceName' to 'environment'-'serviceName', which enables Consul to properly create DNS entries.

Features

  • Enabled injection of Optional types
  • Discovery now returns last known instance, if no other instances are present
  • Added following methods to the DiscoveryUtil interface:
    • void register(String serviceName, String version, String environment, long ttl, long pingInterval, boolean singleton, String baseUrl, String serviceId);
    • void deregister(String instanceId);
    • Optional<URL> getServiceInstance(String serviceName, String version, String environment);
  • Added resilience flag

Enhancements

  • Enabled configuration of the retry count
  • Updated Consul client library to 0.17.1
  • Updated etcd4j library to 2.15.0

Bugs

  • Properly close etcd connection
  • Initialize extension only on CDI event
  • Deploy watch only if one instance is already registered
  • Fixed registration initialization procedure to work alongside security extension

v1.0.0

09 Sep 09:53
v1.0.0
5978634
Compare
Choose a tag to compare

We're happy to announce the initial version of the KumuluzEE Discovery extension v1.0.0 for the KumuluzEE framework.

The extension comes with support for using the etcd or consul as the backend for registering and finding microservices in your system. We're continuing the spirit of complete modularity. The API is the same no matter which backend you choose to use, and as such can freely change between them without impacting your code. The same will hold true for any additional future backends that we will add.

We're excited to get the extension into your hands!