Chapter 4. On service discovery

 

This chapter covers

  • Explaining why service discovery is important to any cloud-based application environment
  • Understanding the pros and cons of service discovery vs. the more traditional load-balancer approach
  • Setting up a Spring Netflix Eureka server
  • Registering a Spring-Boot-based microservice with Eureka
  • Using Spring Cloud and Netflix’s Ribbon library to use client-side load balancing

In any distributed architecture, we need to find the physical address of where a machine is located. This concept has been around since the beginning of distributed computing and is known formally as service discovery. Service discovery can be something as simple as maintaining a property file with the addresses of all the remote services used by an application, or something as formalized (and complicated) as a UDDI (Universal Description, Discovery, and Integration) repository.[1]

4.1. Where’s my service?

4.2. On service discovery in the cloud

4.2.1. The architecture of service discovery

4.2.2. Service discovery in action using Spring and Netflix Eureka

4.3. Building your Spring Eureka Service

4.4. Registering services with Spring Eureka

4.5. Using service discovery to look up a service

4.5.1. Looking up service instances with Spring DiscoveryClient

4.5.2. Invoking services with Ribbon-aware Spring RestTemplate

4.5.3. Invoking services with Netflix Feign client

4.6. Summary

sitemap