Class SessionedEurekaHttpClient

  • All Implemented Interfaces:
    EurekaHttpClient

    public class SessionedEurekaHttpClient
    extends EurekaHttpClientDecorator
    SessionedEurekaHttpClient enforces full reconnect at a regular interval (a session), preventing a client to sticking to a particular Eureka server instance forever. This in turn guarantees even load distribution in case of cluster topology change.
    • Constructor Detail

      • SessionedEurekaHttpClient

        public SessionedEurekaHttpClient​(java.lang.String name,
                                         EurekaHttpClientFactory clientFactory,
                                         long sessionDurationMs)
    • Method Detail

      • shutdown

        public void shutdown()
      • randomizeSessionDuration

        protected long randomizeSessionDuration​(long sessionDurationMs)
        Returns:
        a randomized sessionDuration in ms calculated as +/- an additional amount in [0, sessionDurationMs/2]
      • getCurrentSessionDuration

        public long getCurrentSessionDuration()