anchor.diff:  == Service Discovery: Eureka Clients
   
   Service Discovery is one of the key tenets of a microservice based architecture. Trying to hand configure each client or some form of convention can be very difficult to do and can be very brittle.  Eureka is the Netflix Service Discovery Server and Client.  The server can be configured and deployed to be highly available, with each server replicating state about the registered services to the others.
  +
  +[[netflix-eureka-client-starter]]
  +=== How to Include Eureka Client
  +
  +To include Eureka Client in your project use the starter with group `org.springframework.cloud`
  +and artifact id `spring-cloud-starter-eureka`. See the http://projects.spring.io/spring-cloud/[Spring Cloud Project page]
  +for details on setting up your build system with the current Spring Cloud Release Train.
   
   === Registering with Eureka
   
  
positive.code: 
  https://github.com/Netflix/feign[Feign] is a declarative web service client.  It makes writing web service clients easier.  To use Feign create an interface and annotate it.  It has pluggable annotation support including Feign annotations and JAX-RS annotations. Feign also supports pluggable encoders and decoders.  Spring Cloud adds support for Spring MVC annotations and for using the same `HttpMessageConverters` used by default in Spring Web.  Spring Cloud integrates Ribbon and Eureka to provide a load balanced http client when using Feign.
  
  Example spring boot app
  
  [source,java,indent=0]
  
negative.code: 
  === Using Ribbon with Eureka
  
  When Eureka is used in conjunction with Ribbon (i.e., both are on the classpath) the `ribbonServerList`
  is overridden with an extension of `DiscoveryEnabledNIWSServerList`
  which populates the list of servers from Eureka.  It also replaces the
  `IPing` interface with `NIWSDiscoveryPing` which delegates to Eureka
  