public interface EurekaInstanceConfig
EurekaClient
based on virtual hostname (also called VIPAddress),
the most common way of doing it or by other means to get the information
necessary to talk to other instances registered with Eureka.
As requirements of registration, an id and an appname must be supplied. The id should be unique within the scope of the appname.
Note that all configurations are not effective at runtime unless and otherwise specified.
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAppGroupName()
Get the name of the application group to be registered with eureka.
|
java.lang.String |
getAppname()
Get the name of the application to be registered with eureka.
|
java.lang.String |
getASGName()
Gets the
AWS autoscaling group name associated with this
instance. |
DataCenterInfo |
getDataCenterInfo()
Returns the data center this instance is deployed.
|
java.lang.String[] |
getDefaultAddressResolutionOrder()
An instance's network addresses should be fully expressed in it's
DataCenterInfo . |
java.lang.String |
getHealthCheckUrl()
Gets the absolute health check page
URL for this instance. |
java.lang.String |
getHealthCheckUrlPath()
Gets the relative health check
URL Path for this
instance. |
java.lang.String |
getHomePageUrl()
Gets the absolute home page
URL for this instance. |
java.lang.String |
getHomePageUrlPath()
Gets the relative home page
URL Path for this instance. |
java.lang.String |
getHostName(boolean refresh)
Gets the hostname associated with this instance.
|
java.lang.String |
getInstanceId()
Get the unique Id (within the scope of the appName) of this instance to be registered with eureka.
|
java.lang.String |
getIpAddress()
Get the IPAdress of the instance.
|
int |
getLeaseExpirationDurationInSeconds()
Indicates the time in seconds that the eureka server waits since it
received the last heartbeat before it can remove this instance from its
view and there by disallowing traffic to this instance.
|
int |
getLeaseRenewalIntervalInSeconds()
Indicates how often (in seconds) the eureka client needs to send
heartbeats to eureka server to indicate that it is still alive.
|
java.util.Map<java.lang.String,java.lang.String> |
getMetadataMap()
Gets the metadata name/value pairs associated with this instance.
|
java.lang.String |
getNamespace()
Get the namespace used to find properties.
|
int |
getNonSecurePort()
Get the
non-secure port on which the instance should receive
traffic. |
java.lang.String |
getSecureHealthCheckUrl()
Gets the absolute secure health check page
URL for this instance. |
int |
getSecurePort()
Get the
Secure port on which the instance should receive
traffic. |
boolean |
getSecurePortEnabled()
Indicates whether the
secure port should be enabled for
traffic or not. |
java.lang.String |
getSecureVirtualHostName()
Gets the secure virtual host name defined for this instance.
|
java.lang.String |
getStatusPageUrl()
Gets the absolute status page
URL for this instance. |
java.lang.String |
getStatusPageUrlPath()
Gets the relative status page
URL Path for this
instance. |
java.lang.String |
getVirtualHostName()
Gets the virtual host name defined for this instance.
|
boolean |
isInstanceEnabledOnit()
Indicates whether the instance should be enabled for taking traffic as
soon as it is registered with eureka.
|
boolean |
isNonSecurePortEnabled()
Indicates whether the
non-secure port should be enabled for
traffic or not. |
java.lang.String getInstanceId()
java.lang.String getAppname()
java.lang.String getAppGroupName()
boolean isInstanceEnabledOnit()
int getNonSecurePort()
non-secure
port on which the instance should receive
traffic.int getSecurePort()
Secure port
on which the instance should receive
traffic.boolean isNonSecurePortEnabled()
non-secure
port should be enabled for
traffic or not.non-secure
port is enabled, false
otherwise.boolean getSecurePortEnabled()
secure
port should be enabled for
traffic or not.secure
port is enabled, false otherwise.int getLeaseRenewalIntervalInSeconds()
getLeaseExpirationDurationInSeconds()
, eureka server will remove
the instance from its view, there by disallowing traffic to this
instance.
Note that the instance could still not take traffic if it implements
HealthCheckCallback
and then decides to make itself unavailable.
int getLeaseExpirationDurationInSeconds()
Setting this value too long could mean that the traffic could be routed
to the instance even though the instance is not alive. Setting this value
too small could mean, the instance may be taken out of traffic because of
temporary network glitches.This value to be set to atleast higher than
the value specified in getLeaseRenewalIntervalInSeconds()
.
java.lang.String getVirtualHostName()
This is typically the way other instance would find this instance by using the virtual host name.Think of this as similar to the fully qualified domain name, that the users of your services will need to find this instance.
java.lang.String getSecureVirtualHostName()
This is typically the way other instance would find this instance by using the secure virtual host name.Think of this as similar to the fully qualified domain name, that the users of your services will need to find this instance.
java.lang.String getASGName()
AWS autoscaling group name
associated with this
instance. This information is specifically used in an AWS environment to
automatically put an instance out of service after the instance is
launched and it has been disabled for traffic..java.lang.String getHostName(boolean refresh)
refresh
- true if the information needs to be refetched, false
otherwise.java.util.Map<java.lang.String,java.lang.String> getMetadataMap()
DataCenterInfo getDataCenterInfo()
java.lang.String getIpAddress()
getHostName(boolean)
.java.lang.String getStatusPageUrlPath()
URL
Path for this
instance. The status page URL is then constructed out of the
getHostName(boolean)
and the type of communication - secure or
unsecure as specified in getSecurePort()
and
getNonSecurePort()
.
It is normally used for informational purposes for other services to find
about the status of this instance. Users can provide a simple
HTML
indicating what is the current status of the instance.
URL
that specifies the status page.java.lang.String getStatusPageUrl()
URL
for this instance. The users
can provide the getStatusPageUrlPath()
if the status page
resides in the same instance talking to eureka, else in the cases where
the instance is a proxy for some other server, users can provide the full
URL
. If the full URL
is provided it takes precedence.
* It is normally used for informational purposes for other services to
find about the status of this instance. Users can provide a simple
HTML
indicating what is the current status of the instance.
. The full URL
should follow the format
http://${eureka.hostname}:7001/ where the value ${eureka.hostname} is
replaced at runtime.
java.lang.String getHomePageUrlPath()
URL
Path for this instance.
The home page URL is then constructed out of the
getHostName(boolean)
and the type of communication - secure or
unsecure as specified in getSecurePort()
and
getNonSecurePort()
.
It is normally used for informational purposes for other services to use it as a landing page.
URL
that specifies the home page.java.lang.String getHomePageUrl()
URL
for this instance. The users can
provide the getHomePageUrlPath()
if the home page resides in the
same instance talking to eureka, else in the cases where the instance is
a proxy for some other server, users can provide the full URL
. If
the full URL
is provided it takes precedence.
It is normally used for informational purposes for other services to use
it as a landing page. The full URL
should follow the format
http://${eureka.hostname}:7001/ where the value ${eureka.hostname} is
replaced at runtime.
java.lang.String getHealthCheckUrlPath()
URL
Path for this
instance. The health check page URL is then constructed out of the
getHostName(boolean)
and the type of communication - secure or
unsecure as specified in getSecurePort()
and
getNonSecurePort()
.
It is normally used for making educated decisions based on the health of the instance - for example, it can be used to determine whether to proceed deployments to an entire farm or stop the deployments without causing further damage.
URL
that specifies the health check page.java.lang.String getHealthCheckUrl()
URL
for this instance. The
users can provide the getHealthCheckUrlPath()
if the health
check page resides in the same instance talking to eureka, else in the
cases where the instance is a proxy for some other server, users can
provide the full URL
. If the full URL
is provided it
takes precedence.
It is normally used for making educated decisions based on the health of
the instance - for example, it can be used to determine whether to
proceed deployments to an entire farm or stop the deployments without
causing further damage. The full URL
should follow the format
http://${eureka.hostname}:7001/ where the value ${eureka.hostname} is
replaced at runtime.
java.lang.String getSecureHealthCheckUrl()
URL
for this instance.
The users can provide the getSecureHealthCheckUrl()
if the
health check page resides in the same instance talking to eureka, else in
the cases where the instance is a proxy for some other server, users can
provide the full URL
. If the full URL
is provided it
takes precedence.
It is normally used for making educated decisions based on the health of
the instance - for example, it can be used to determine whether to
proceed deployments to an entire farm or stop the deployments without
causing further damage. The full URL
should follow the format
http://${eureka.hostname}:7001/ where the value ${eureka.hostname} is
replaced at runtime.
java.lang.String[] getDefaultAddressResolutionOrder()
DataCenterInfo
.
For example for instances in AWS, this will include the publicHostname, publicIp,
privateHostname and privateIp, when available. The InstanceInfo
will further express a "default address", which is a field that can be configured by the
registering instance to advertise it's default address. This configuration allowed
for the expression of an ordered list of fields that can be used to resolve the default
address. The exact field values will depend on the implementation details of the corresponding
implementing DataCenterInfo types.java.lang.String getNamespace()