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.
Dependency
First, you need to add the Stork Consul Service Discovery provider:
<dependency>
<groupId>io.smallrye.stork</groupId>
<artifactId>smallrye-stork-service-discovery-eureka</artifactId>
<version>SNAPSHOT</version>
</dependency>
Configuration
For each application instance expected to be registered in Eureka, configure the lookup:
stork.my-service.service-discovery=eureka
stork.my-service.service-discovery.eureka-host=localhost
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:
Attribute | Mandatory | Default Value | Description |
---|---|---|---|
eureka-host |
Yes | The Eureka server host | |
eureka-port |
No | 8761 |
The Eureka server port |
eureka-trust-all |
No | false |
Enable/Disable the TLS certificate verification |
eureka-ssl |
No | false |
Use TLS to connect to the Eureka server |
application |
No | the service name | The Eureka application Id |
instance |
No | The Eureka application instance Id | |
secure |
No | false |
Whether it should select the secure virtual address |
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.