title: Load balancer does not have available server for client: meeting
body: <p>While I am trying to reach the service <code>meeting</code> via Zuul gateway, Zuul is unable to forward the request to the respective service. The following errors are what I am facing:</p>
  
  <blockquote>
    <ol>
    <li>nettflix.zuul.exception.ZuulException: Forwarding error</li>
    <li>Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: meeting</li>
    </ol>
  </blockquote>
  
  <p>Let me share the application.yml for the service, eureka and zuul gateway.</p>
  
  <p><strong>EurekaClient:</strong>
  <code>Application.yml</code></p>
  
  <pre class="lang-yaml prettyprint-override"><code>server:
    port: 8761
  
  eureka:
    instance:
      hostname: localhost
      lease-renewal-interval-in-seconds: 300
    client:
      register-with-eureka: false
      fetch-registry: true
      serviceUrl:
        defaultZone: http://localhost:8761/eureka/
  </code></pre>
  
  <p><strong>ZuulGateWay:</strong>
  <code>application.yml</code></p>
  
  <pre class="lang-yaml prettyprint-override"><code>server:
    port: 8085
  
  spring:
    application:
      name: gatekeeper
  
  
  zuul:
    routes:
      meeting: /meeting/**
      serviceId: meeting
  
  ribbon:
    eureka:
      enabled: false
  
  eureka:
    client:
      serviceUrl:
        defaultZone: http://localhost:8761/eureka/
  </code></pre>
  
  <p><strong>ZuulGateWay:</strong> <code>SpringBootApplication</code></p>
  
  <pre><code>package com.sagarp.gatekeeper;
  
  import org.springframework.boot.SpringApplication;
  import org.springframework.boot.autoconfigure.SpringBootApplication;
  import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
  
  @SpringBootApplication
  @EnableEurekaClient
  @EnableZuulProxy
  public class MeetingApplication {
  
      public static void main(String[] args) {
          SpringApplication.run(MeetingApplication.class, args);
      }
  }
  </code></pre>
  
  <p><strong>My Service class (meeting):</strong> <code>Application.yml</code></p>
  
  <pre class="lang-yaml prettyprint-override"><code>server:
    port: 0
  spring:
    application:
      name: meeting
    datasource:
      url: jdbc:mysql://localhost:3306/sagarp?useSSL=false
      username: myUserName
      password: myPassWord
    jpa:
      properties:
        hibernate:
          dialect: org.hibernate.dialect.MySQL5InnoDBDialect
      hibernate:
       ddl-auto: update
  
  eureka:
    client:
      registerWithEureka: true
      fetchRegistry: true
      serviceUrl:
        defaultZone: http://localhost:8761/eureka/
    instance:
      lease-renewal-interval-in-seconds: 5
  </code></pre>
  
  <p><strong>My Service class (meeting):</strong> <code>SpringBootApplication</code></p>
  
  <pre><code>package com.sagarp;
  
  import org.springframework.boot.SpringApplication;
  import org.springframework.boot.autoconfigure.SpringBootApplication;
  import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  
  @SpringBootApplication
  @EnableEurekaClient
  public class MeetingApplication {
  
      public static void main(String[] args) {
          SpringApplication.run(MeetingApplication.class, args);
      }
  }
  </code></pre>
  
  <p>As you can see, the configuration ensures that all my services are discovered  by  eureka client.</p>
  
  <p>In the eureka console, I have verified the same, the <code>zuul gateway</code> and <code>my service(meeting)</code> both are visible.</p>
  
  <p>For better view, you can visit my git repo. <a href="https://github.com/sagar-patro/demo-microservices" rel="noreferrer">https://github.com/sagar-patro/demo-microservices</a></p>
  
  <p>Any help would be very much appreciable</p>