title: Spring Boot - Different systems( eureka , zuul, ribbon, nginx,) used for what?
body: <p>I have been working with <code>spring</code> and now would like to learn <code>spring boot</code> and microservices. I understand what <code>microservice</code> is all about and how it works. While going through docs i came across many things used to develop <code>microservices</code> along with <code>spring boot</code> which i am very much confused. </p>
  
  <p>I have listed the systems below.and the questions:</p>
  
  <ol>
  <li><strong>Netflix Eureka</strong> - I understand this is service discovery platform.
  All <code>services</code> will be registered to <code>eureka</code> server and all
  <code>microservices</code> are <code>eureka</code> clients. Now my doubt is , without having
  an API gateway is there any use with this service registry ? This is
  to understand the actual use of service registry.</li>
  <li><p><strong>ZUULApi gateway</strong>- I understand ZUUL can be used as API gateway which is basically a load balancer , that calls appropriate
  microservice corresponding to request URL. iS that assumption
  correct? will the api gateway interact with Eureka for getting the
  appropriate microservice?</p></li>
  <li><p><strong>NGINX</strong> - I have read  <code>NGINX</code> can also be used as API gateway? Is that possible? Also i read some where else like <code>NGINX</code> can be used as a service registry , that is as an alternate for Eureka ! Thus which is right? Api gateway or service registry or both? I know <code>nginx</code> is a webserver and <code>reverse proxies</code> can be powerfully configured.</p></li>
  <li><p><strong>AWS api gateway</strong> - Is this can also be used as an alternate for <code>ZUUL</code>? </p></li>
  <li><p><strong>RIBBON</strong> - for what <code>ribbon</code> is used? I didn't understand !</p></li>
  <li><p><strong>AWS ALB</strong>- This can also be used for load balancing. Thus do we need ZUUL if we have <code>AWS ALB</code>?</p></li>
  </ol>
  
  <p>Please help</p>