Skip to content

Eureka Service Discovery#

Eureka is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers.

This page explains how Stork can use Eureka to handle the service discovery and service registration.

Dependency#

First, you need to add the Stork Eureka Service Discovery provider:

<dependency>
    <groupId>io.smallrye.stork</groupId>
    <artifactId>stork-service-discovery-eureka</artifactId>
    <version>2.6.3</version>
</dependency>

Service discovery configuration#

For each application instance expected to be registered in Eureka, configure the lookup:

stork.my-service.service-discovery.type=eureka
stork.my-service.service-discovery.eureka-host=localhost
stork.my-service.service-discovery.eureka-port=8761
quarkus.stork.my-service.service-discovery.type=eureka
quarkus.stork.my-service.service-discovery.eureka-host=localhost
quarkus.stork.my-service.service-discovery.eureka-port=8761

Stork looks for the service with the given name (my-service in the previous example).

Supported attributes are the following:

The application attribute is optional. It uses the Stork service name (my-service in the previous configuration) if not set.

The instance attribute allows selecting a specific instance. Using this attribute prevents load-balancing as you will always select a single instance.

The secure attribute indicates if you want the secure virtual address of the application instance. If set to true, unsecured instances are filtered out from the available instances.