-
In this blog, we will learn to implement load balancer using Netflix Zuul in Spring Boot with Spring Cloud dependencies.
-
In this tutorial we will see, how new instances will be registered under Eureka Server along with Zuul Components (pre, post, route, error filters)

-
Zuul API Gateway can be integrated with other Netflix patterns like Hystrix for fault tolerance and Eureka for service discovery, or use it to manage routing rules, filters, and load balancing across the system.
Zuul Filters: We can add any number of filters for a particular url pattern.
e.g.
- pre-filters – are invoked before the request is routed.
- post-filters – are invoked after the request has been routed.
- route-filters – are used to route the request.
- error-filters – are invoked when an error occurs while handling the request.
- Zuul API Gateway Advantages
- Zuul API Gateway Disadvantages
- Application Overview
- Technology Stack
- Application Setup
- Microservice: spring-boot-zuul-gateway-proxy-student-service
- Microservice: Application Structure
- Microservice: Maven File (pom.xml)
- Microservice: Applcation Configuration (application.yaml)
- Microservice: RestController (StudentServiceApp.java)
- Microservice: spring-boot-zuul-gateway-proxy-skillstechnologies-service
- Microservice: Application Structure
- Microservice: Maven File (pom.xml)
- Microservice: Applcation Configuration (application.yaml)
- Microservice: RestController (SkillsTechnologiesController.java)
- Spring Boot: SpringBootApplication
- Microservice: spring-boot-zuul-gateway-proxy-eureka-server
- Microservice: Maven File (pom.xml)
- Microservice: Applcation Configuration (application.yaml)
- Spring Boot: SpringBootApplication
- Microservice: spring-boot-zuul-gateway-proxy
- Microservice: Application Structure
- Microservice: Maven File (pom.xml)
- Microservice: Applcation Configuration (application.yaml)
- Spring Boot: SpringBootApplication
- Zuul API Gateway Filter Component (PreFilter)
- Zuul API Gateway Filter Component (RouteFilter)
- Zuul API Gateways Filter Component (PostFilter)
- Zuul API Gateways Filter Component (ErrorFilter)
- Applications (microservices) Deploy, Run & Test
- Start spring-boot-zuul-gateway-proxy-eureka-server application
- Start spring-boot-zuul-gateway-proxy-student-service application
- Start spring-boot-zuul-gateway-proxy-skillstechnologies-service application
- Start spring-boot-zuul-gateway-proxy application
- Test /student/echoStudentName microservice
- Test /student/getStudentDetails microservice
- Test /skillTechService/skillstech/getSkills microservice
- Download Source Code (Attached)
Zuul API Gateway Advantages
- Provides an easier interface to clients, by providing an abstraction to the external world.
- Can be used to prevent exposing the internal microservices structure to clients.
- Allows refactoring of microservices without forcing the clients to refactor the consuming logic.
- Can centralize activities like security, monitoring, rate limiting, etc.
Zuul API Gateway Disadvantages
- It could become a single point of failure if the proper measures are not taken to make it highly available.
Application Overview
Here, in this example we have two microservices applicaions (student and skillstechnologies) having 3 Rest APIs. These microservies are registered with Netflix Eureka Server. Client’s traffic/request being routed/balanced/monitored by Netflix Zuul API gateway.

Technology Stack
Java 8 Maven 3.5.0 Spring Boot 2.1.2.RELEASE Eclipse Netflix Eureka as Service Registry Server Netflix Zuul API Gateway as Server Side Load balancer 2 Microservices (student & skillstechnologies)
Application Setup
spring-boot-zuul-gateway-proxy 1 node (localhost:8989) spring-boot-zuul-gateway-proxy-eureka-server 1 node (localhost:9090) spring-boot-zuul-gateway-proxy-student-service 1 node (localhost:8930) spring-boot-zuul-gateway-proxy-skillstechnologies-service 1 node (localhost:8940)

Microservice: spring-boot-zuul-gateway-proxy-student-service
In this microservice two Rest APIs have been exposed for fetching the student details.
Microservice: Application Structure

Microservice: Maven File (pom.xml)
Maven file pom.xml would be looked like as below
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spring-boot-zuul-gateway-proxy-student-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot-zuul-gateway-proxy-student-service</name>
<description>Project for Spring Boot Student Service</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Microservice: Applcation Configuration (application.yaml)
Application properties file will be looked like as below.
#Name of the application
spring:
application:
name: student
#Eureka server url for registering
#This is eureka client
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://localhost:9090/eureka/
instance:
hostname: localhost
server:
port: 8930
Microservice: RestController (StudentServiceApp.java)
Two Rest APIs /echoStudentName/ & /getStudentDetails/ exposed for returning the success response to Zuul API Gateway.
package com.the.basic.tech.info.studentinfoservice;
import java.util.Date;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class StudentServiceApp {
@RequestMapping(value = "/echoStudentName/{name}")
public String echoStudentName(@PathVariable(name = "name") String name) {
return "Hello " + name + " Responsed on : " + new Date();
}
@RequestMapping(value = "/getStudentDetails/{name}")
public Student getStudentDetails(@PathVariable(name = "name") String name) {
return new Student(name, "Northridge, CA", "MBA", "Block-E", "California State University");
}
public static void main(String[] args) {
SpringApplication.run(StudentServiceApp.class, args);
}
}
class Student {
String name;
String address;
String cls;
String university;
String block;
public Student(String name, String address, String cls, String block, String university) {
super();
this.name = name;
this.address = address;
this.cls = cls;
this.block = block;
this.university = university;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public String getCls() {
return cls;
}
public String getUniversity() {
return university;
}
public String getBlock() {
return block;
}
}
Microservice: spring-boot-zuul-gateway-proxy-skillstechnologies-service
In this microservice a Rest APIs (/getSkills) has been exposed for fetching the student’s skills technologies details.
Microservice: Application Structure

Microservice: Maven File (pom.xml)
Maven file pom.xml would be looked like as below
?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot-zuul-gateway-proxy-skillstechnologies-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-zuul-gateway-proxy-skillstechnologies-service</name>
<description>Skills Technologies Detail Microservice</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
Microservice: Applcation Configuration (application.yaml)
Application properties file will be looked like as below.
#Name of the application
spring:
application:
name: skillTechnologiesService
#Eureka server url for registering
#This is eureka client
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://localhost:9090/eureka/
instance:
hostname: localhost
server:
port: 8940
Microservice: RestController (SkillsTechnologiesController.java)
package com.the.basic.tech.info.skillstechnologies.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/skillstech")
public class SkillsTechnologiesController {
private static final Logger logger = LoggerFactory.getLogger(SkillsTechnologiesController.class);
@GetMapping("/getSkills")
public String getSkills() {
logger.info("Inside getSkitlls Method.");
// we can implement DB layer for fetching below details
return "Java, J2EE, Spring, Spring-Boot, Microservices, Docker, Kubernetes.";
}
}
Spring Boot: SpringBootApplication
package com.the.basic.tech.info.skillstechnologies;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SkillsTechnologiesApplication {
public static void main(String[] args) {
SpringApplication.run(SkillsTechnologiesApplication.class, args);
}
}
Microservice: spring-boot-zuul-gateway-proxy-eureka-server
In this microservice we are customizing/configuring the discovery server (spring-boot-zuul-gateway-proxy-eureka-server)
Microservice: Maven File (pom.xml)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spring-boot-zuul-gateway-proxy-eureka-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-zuul-gateway-proxy-eureka-server</name>
<description>Project for Spring Boot Eurka Server</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RC2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
</project>
Microservice: Applcation Configuration (application.yaml)
Application properties (application.yml) would be looked like as below
# Configure this Discovery Server
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
# HTTP (Tomcat) port
server:
port: 9090
application.properties for eurka server configurations
spring.application.name=eureka-server eureka.client.register-with-eureka=false eureka.client.fetch-registry=false logging.level.com.netflix.eureka=OFF logging.level.com.netflix.discovery=OFF #By default port of Eureka server:8671 #Server port is configured in application.yml.
Spring Boot: SpringBootApplication
We need to enable Eureka Server s.t. @EnableEurekaServer
package com.the.basic.tech.info.eurekadiscoveryserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaDiscoveryServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaDiscoveryServerApplication.class, args);
}
}
Microservice: spring-boot-zuul-gateway-proxy
Basically it intercepts all the traffic of student and skillstechnologies services and apply series of request filter. Then route to the underlying service and again at the time of response serving, it will apply some response filtering as well. We will see in logs once all the components will be up and running.
Microservice: Application Structure

Microservice: Maven File (pom.xml)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot-zuul-gateway-proxy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot-zuul-gateway-proxy</name>
<description>Project for Spring Boot API Gateway Proxy </description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
</project>
Microservice: Applcation Configuration (application.yaml)
In this file we are adding dynamic routes for calling the microservices.
#Name of the application
spring:
application:
name: ZuulService
#Eureka server url for registering
#This is eureka client
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://localhost:9090/eureka/
#register url to server
instance:
hostname: localhost
server:
port: 8989
zuul:
prefix: /portal
routes:
studentService:
path: /studentService/**
service-id: STUDENT
skillTechnologiesService:
path: /skillTechService/**
service-id: SKILLTECHNOLOGIESSERVICE
Spring Boot: SpringBootApplication
package com.the.basic.tech.info.zuulapigateway.proxy;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.context.annotation.Bean;
import com.the.basic.tech.info.zuulapigateway.proxy.filters.ErrorFilter;
import com.the.basic.tech.info.zuulapigateway.proxy.filters.PostFilter;
import com.the.basic.tech.info.zuulapigateway.proxy.filters.PreFilter;
import com.the.basic.tech.info.zuulapigateway.proxy.filters.RouteFilter;
@SpringBootApplication
@EnableZuulProxy
public class APIGatwayApplication {
public static void main(String[] args) {
SpringApplication.run(APIGatwayApplication.class, args);
}
@Bean
public PreFilter preFilter() {
return new PreFilter();
}
@Bean
public PostFilter postFilter() {
return new PostFilter();
}
@Bean
public ErrorFilter errorFilter() {
return new ErrorFilter();
}
@Bean
public RouteFilter routeFilter() {
return new RouteFilter();
}
}
Zuul API Gateway Filter Component (PreFilter)
Note: We can extends ZuulFilter class and override filterType(), filterOrder(), shouldFilter() and run() methods as per requirement.
package com.the.basic.tech.info.zuulapigateway.proxy.filters;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
public class PreFilter extends ZuulFilter {
private static final Logger logger = LoggerFactory.getLogger(PreFilter.class);
@Override
public String filterType() {
return "pre";
}
@Override
public int filterOrder() {
return 1;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
logger.info("Request Method: {} and Request URL: {}", request.getMethod(), request.getRequestURL().toString());
return null;
}
}
Zuul API Gateway Filter Component (RouteFilter)
package com.the.basic.tech.info.zuulapigateway.proxy.filters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.zuul.ZuulFilter;
public class RouteFilter extends ZuulFilter {
private static final Logger logger = LoggerFactory.getLogger(RouteFilter.class);
@Override
public String filterType() {
return "route";
}
@Override
public int filterOrder() {
return 1;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() {
logger.info("Inside Route Filter");
return null;
}
}
Zuul API Gateways Filter Component (PostFilter)
package com.the.basic.tech.info.zuulapigateway.proxy.filters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.zuul.ZuulFilter;
public class PostFilter extends ZuulFilter {
private static final Logger logger = LoggerFactory.getLogger(PostFilter.class);
@Override
public String filterType() {
return "post";
}
@Override
public int filterOrder() {
return 1;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() {
logger.info("Inside Response Filter");
return null;
}
}
Zuul API Gateways Filter Component (ErrorFilter)
package com.the.basic.tech.info.zuulapigateway.proxy.filters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.zuul.ZuulFilter;
public class ErrorFilter extends ZuulFilter {
private static final Logger logger = LoggerFactory.getLogger(ErrorFilter.class);
@Override
public String filterType() {
return "error";
}
@Override
public int filterOrder() {
return 1;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() {
logger.info("Inside Route Filter");
return null;
}
}
Applications (microservices) Deploy, Run & Test
Start spring-boot-zuul-gateway-proxy-eureka-server application

2021-06-16 22:54:20.869 INFO 30516 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-06-16 22:54:20.895 INFO 30516 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3882 ms 2021-06-16 22:54:21.169 WARN 30516 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 22:54:21.172 INFO 30516 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 22:54:21.216 INFO 30516 --- [ main] c.netflix.config.DynamicPropertyFactory : DynamicPropertyFactory is initialized with configuration sources: com.netflix.config.ConcurrentCompositeConfiguration@11bfc5c0 2021-06-16 22:54:23.929 INFO 30516 --- [ main] c.s.j.s.i.a.WebApplicationImpl : Initiating Jersey application, version 'Jersey: 1.19.1 03/11/2016 02:08 PM' 2021-06-16 22:54:25.182 WARN 30516 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 22:54:25.182 INFO 30516 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 22:54:25.498 INFO 30516 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-06-16 22:54:28.073 INFO 30516 --- [ main] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING 2021-06-16 22:54:28.405 INFO 30516 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator' 2021-06-16 22:54:28.701 INFO 30516 --- [ main] o.s.c.n.e.s.EurekaServiceRegistry : Registering application EUREKA-SERVER with eureka with status UP 2021-06-16 22:54:28.800 INFO 30516 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Setting the eureka configuration.. 2021-06-16 22:54:28.833 INFO 30516 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Eureka data center value eureka.datacenter is not set, defaulting to default 2021-06-16 22:54:28.948 INFO 30516 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Eureka environment value eureka.environment is not set, defaulting to test 2021-06-16 22:54:28.998 INFO 30516 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9090 (http) with context path '' 2021-06-16 22:54:29.021 INFO 30516 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : isAws returned false 2021-06-16 22:54:29.098 INFO 30516 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 9090 2021-06-16 22:54:29.123 INFO 30516 --- [ main] b.t.i.e.EurekaDiscoveryServerApplication : Started EurekaDiscoveryServerApplication in 16.837 seconds (JVM running for 28.422) 2021-06-16 22:54:29.128 INFO 30516 --- [ Thread-13] o.s.c.n.e.server.EurekaServerBootstrap : Initialized server context 2021-06-16 22:54:29.314 INFO 30516 --- [ Thread-13] e.s.EurekaServerInitializerConfiguration : Started Eureka Server
Start spring-boot-zuul-gateway-proxy-student-service application

2021-06-16 22:59:51.036 INFO 28140 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-06-16 22:59:51.039 INFO 28140 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 5207 ms 2021-06-16 22:59:52.655 WARN 28140 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 22:59:52.658 INFO 28140 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 22:59:52.677 WARN 28140 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 22:59:52.679 INFO 28140 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 22:59:53.348 INFO 28140 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-06-16 22:59:58.772 INFO 28140 --- [ main] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING 2021-06-16 22:59:58.869 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Initializing Eureka in region us-east-1 2021-06-16 22:59:59.221 INFO 28140 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using JSON encoding codec LegacyJacksonJson 2021-06-16 22:59:59.229 INFO 28140 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using JSON decoding codec LegacyJacksonJson 2021-06-16 22:59:59.899 INFO 28140 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using XML encoding codec XStreamXml 2021-06-16 22:59:59.899 INFO 28140 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using XML decoding codec XStreamXml 2021-06-16 23:00:00.219 INFO 28140 --- [ main] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Disable delta property : false 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Application is null : false 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Application version is -1: true 2021-06-16 23:00:01.342 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server 2021-06-16 23:00:01.774 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : The response status is 200 2021-06-16 23:00:01.774 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Starting heartbeat executor: renew interval is: 30 2021-06-16 23:00:01.790 INFO 28140 --- [ main] c.n.discovery.InstanceInfoReplicator : InstanceInfoReplicator onDemand update allowed rate per min is 4 2021-06-16 23:00:01.821 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1623864601806 with initial instances count: 0 2021-06-16 23:00:01.821 INFO 28140 --- [ main] o.s.c.n.e.s.EurekaServiceRegistry : Registering application STUDENT with eureka with status UP 2021-06-16 23:00:01.821 INFO 28140 --- [ main] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1623864601821, current=UP, previous=STARTING] 2021-06-16 23:00:01.856 INFO 28140 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_STUDENT/LOCALHOST:student:8930: registering service... 2021-06-16 23:00:02.332 INFO 28140 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8930 (http) with context path '' 2021-06-16 23:00:02.343 INFO 28140 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8930 2021-06-16 23:00:02.351 INFO 28140 --- [ main] c.t.b.t.i.s.StudentServiceApp : Started StudentServiceApp in 25.5 seconds (JVM running for 36.274) 2021-06-16 23:00:02.417 INFO 28140 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_STUDENT/LOCALHOST:student:8930 - registration status: 204 2021-06-16 23:00:31.798 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Disable delta property : false 2021-06-16 23:00:31.798 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null 2021-06-16 23:00:31.814 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false 2021-06-16 23:00:31.814 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Application is null : false 2021-06-16 23:00:31.814 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true 2021-06-16 23:00:31.814 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Application version is -1: false 2021-06-16 23:00:31.814 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server 2021-06-16 23:00:31.914 INFO 28140 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : The response status is 200
Start spring-boot-zuul-gateway-proxy-skillstechnologies-service application

2021-06-16 23:05:50.931 INFO 28224 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-06-16 23:05:50.931 INFO 28224 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3180 ms 2021-06-16 23:05:51.162 WARN 28224 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 23:05:51.167 INFO 28224 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 23:05:51.212 WARN 28224 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 23:05:51.218 INFO 28224 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 23:05:51.622 INFO 28224 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-06-16 23:05:55.539 INFO 28224 --- [ main] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING 2021-06-16 23:05:55.663 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Initializing Eureka in region us-east-1 2021-06-16 23:05:56.143 INFO 28224 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using JSON encoding codec LegacyJacksonJson 2021-06-16 23:05:56.144 INFO 28224 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using JSON decoding codec LegacyJacksonJson 2021-06-16 23:05:56.537 INFO 28224 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using XML encoding codec XStreamXml 2021-06-16 23:05:56.554 INFO 28224 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using XML decoding codec XStreamXml 2021-06-16 23:05:56.937 INFO 28224 --- [ main] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2021-06-16 23:05:58.091 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Disable delta property : false 2021-06-16 23:05:58.102 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null 2021-06-16 23:05:58.103 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false 2021-06-16 23:05:58.104 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Application is null : false 2021-06-16 23:05:58.106 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true 2021-06-16 23:05:58.107 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Application version is -1: true 2021-06-16 23:05:58.108 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server 2021-06-16 23:05:58.786 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : The response status is 200 2021-06-16 23:05:58.799 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Starting heartbeat executor: renew interval is: 30 2021-06-16 23:05:58.807 INFO 28224 --- [ main] c.n.discovery.InstanceInfoReplicator : InstanceInfoReplicator onDemand update allowed rate per min is 4 2021-06-16 23:05:58.820 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1623864958816 with initial instances count: 1 2021-06-16 23:05:58.825 INFO 28224 --- [ main] o.s.c.n.e.s.EurekaServiceRegistry : Registering application SKILLTECHNOLOGIESSERVICE with eureka with status UP 2021-06-16 23:05:58.828 INFO 28224 --- [ main] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1623864958828, current=UP, previous=STARTING] 2021-06-16 23:05:58.841 INFO 28224 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SKILLTECHNOLOGIESSERVICE/LOCALHOST:skillTechnologiesService:8940: registering service... 2021-06-16 23:05:59.010 INFO 28224 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SKILLTECHNOLOGIESSERVICE/LOCALHOST:skillTechnologiesService:8940 - registration status: 204 2021-06-16 23:05:59.029 INFO 28224 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8940 (http) with context path '' 2021-06-16 23:05:59.040 INFO 28224 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8940 2021-06-16 23:05:59.049 INFO 28224 --- [ main] .t.b.t.i.s.SkillsTechnologiesApplication : Started SkillsTechnologiesApplication in 16.911 seconds (JVM running for 26.647)
Start spring-boot-zuul-gateway-proxy application

2021-06-16 23:10:41.410 INFO 23636 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-06-16 23:10:41.414 INFO 23636 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 4071 ms 2021-06-16 23:10:41.754 WARN 23636 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 23:10:41.756 INFO 23636 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 23:10:41.788 INFO 23636 --- [ main] c.netflix.config.DynamicPropertyFactory : DynamicPropertyFactory is initialized with configuration sources: com.netflix.config.ConcurrentCompositeConfiguration@291231cb 2021-06-16 23:10:45.779 WARN 23636 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources. 2021-06-16 23:10:45.798 INFO 23636 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. 2021-06-16 23:10:46.175 INFO 23636 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-06-16 23:10:48.153 INFO 23636 --- [ main] o.s.c.n.zuul.ZuulFilterInitializer : Starting filter initializer 2021-06-16 23:10:48.231 INFO 23636 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator' 2021-06-16 23:10:48.745 INFO 23636 --- [ main] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING 2021-06-16 23:10:49.079 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Initializing Eureka in region us-east-1 2021-06-16 23:10:49.571 INFO 23636 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using JSON encoding codec LegacyJacksonJson 2021-06-16 23:10:49.582 INFO 23636 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using JSON decoding codec LegacyJacksonJson 2021-06-16 23:10:50.113 INFO 23636 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using XML encoding codec XStreamXml 2021-06-16 23:10:50.119 INFO 23636 --- [ main] c.n.d.provider.DiscoveryJerseyProvider : Using XML decoding codec XStreamXml 2021-06-16 23:10:50.497 INFO 23636 --- [ main] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2021-06-16 23:10:51.685 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Disable delta property : false 2021-06-16 23:10:51.685 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null 2021-06-16 23:10:51.701 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false 2021-06-16 23:10:51.701 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Application is null : false 2021-06-16 23:10:51.701 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true 2021-06-16 23:10:51.716 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Application version is -1: true 2021-06-16 23:10:51.716 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server 2021-06-16 23:10:52.005 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : The response status is 200 2021-06-16 23:10:52.005 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Starting heartbeat executor: renew interval is: 30 2021-06-16 23:10:52.021 INFO 23636 --- [ main] c.n.discovery.InstanceInfoReplicator : InstanceInfoReplicator onDemand update allowed rate per min is 4 2021-06-16 23:10:52.021 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1623865252021 with initial instances count: 2 2021-06-16 23:10:52.021 INFO 23636 --- [ main] o.s.c.n.e.s.EurekaServiceRegistry : Registering application ZUULSERVICE with eureka with status UP 2021-06-16 23:10:52.021 INFO 23636 --- [ main] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1623865252021, current=UP, previous=STARTING] 2021-06-16 23:10:52.037 INFO 23636 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_ZUULSERVICE/LOCALHOST:ZuulService:8989: registering service... 2021-06-16 23:10:52.150 INFO 23636 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_ZUULSERVICE/LOCALHOST:ZuulService:8989 - registration status: 204 2021-06-16 23:10:52.207 INFO 23636 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8989 (http) with context path '' 2021-06-16 23:10:52.237 INFO 23636 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8989 2021-06-16 23:10:52.248 INFO 23636 --- [ main] c.t.b.t.i.z.proxy.APIGatwayApplication : Started APIGatwayApplication in 19.675 seconds (JVM running for 33.872)
Test /student/echoStudentName microservice
http://localhost:8989/portal/student/echoStudentName/The%20Basic%20Tech%20Info

Test /student/getStudentDetails microservice
http://localhost:8989/portal/student/getStudentDetails/The%20Basic%20Tech%20Info

2021-06-16 23:13:42.867 INFO 23636 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty : Flipping property: student.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647 2021-06-16 23:13:43.679 INFO 23636 --- [nio-8989-exec-4] c.t.b.t.i.z.proxy.filters.PostFilter : Inside Response Filter 2021-06-16 23:13:59.765 INFO 23636 --- [nio-8989-exec-7] c.t.b.t.i.z.proxy.filters.PreFilter : Request Method: GET and Request URL: http://localhost:8989/portal/student/echoStudentName/The%20Basic%20Tech%20Info 2021-06-16 23:13:59.770 INFO 23636 --- [nio-8989-exec-7] c.t.b.t.i.z.proxy.filters.RouteFilter : Inside Route Filter 2021-06-16 23:13:59.796 INFO 23636 --- [nio-8989-exec-7] c.t.b.t.i.z.proxy.filters.PostFilter : Inside Response Filter 2021-06-16 23:15:51.746 INFO 23636 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2021-06-16 23:18:36.550 INFO 23636 --- [nio-8989-exec-1] c.t.b.t.i.z.proxy.filters.PreFilter : Request Method: GET and Request URL: http://localhost:8989/portal/student/echoStudentName/The%20Basic%20Tech%20Info 2021-06-16 23:18:36.555 INFO 23636 --- [nio-8989-exec-1] c.t.b.t.i.z.proxy.filters.RouteFilter : Inside Route Filter 2021-06-16 23:18:36.596 INFO 23636 --- [nio-8989-exec-1] c.t.b.t.i.z.proxy.filters.PostFilter : Inside Response Filter 2021-06-16 23:19:30.072 INFO 23636 --- [nio-8989-exec-6] c.t.b.t.i.z.proxy.filters.PreFilter : Request Method: GET and Request URL: http://localhost:8989/portal/student/getStudentDetails/The%20Basic%20Tech%20Info 2021-06-16 23:19:30.075 INFO 23636 --- [nio-8989-exec-6] c.t.b.t.i.z.proxy.filters.RouteFilter : Inside Route Filter 2021-06-16 23:19:31.059 INFO 23636 --- [nio-8989-exec-6] c.t.b.t.i.z.proxy.filters.PostFilter : Inside Response Filter 2021-06-16 23:20:51.763 INFO 23636 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration
Test /skillTechService/skillstech/getSkills microservice
http://localhost:8989/portal/skillTechService/skillstech/getSkills

2021-06-16 23:19:30.075 INFO 23636 --- [nio-8989-exec-6] c.t.b.t.i.z.proxy.filters.RouteFilter : Inside Route Filter
2021-06-16 23:19:31.059 INFO 23636 --- [nio-8989-exec-6] c.t.b.t.i.z.proxy.filters.PostFilter : Inside Response Filter
2021-06-16 23:20:51.763 INFO 23636 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration
2021-06-16 23:22:39.155 INFO 23636 --- [nio-8989-exec-1] c.t.b.t.i.z.proxy.filters.PreFilter : Request Method: GET and Request URL: http://localhost:8989/portal/skillTechService/skillstech/getSkills
2021-06-16 23:22:39.169 INFO 23636 --- [nio-8989-exec-1] c.t.b.t.i.z.proxy.filters.RouteFilter : Inside Route Filter
2021-06-16 23:22:39.324 INFO 23636 --- [nio-8989-exec-1] c.netflix.config.ChainedDynamicProperty : Flipping property: SKILLTECHNOLOGIESSERVICE.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2021-06-16 23:22:39.438 INFO 23636 --- [nio-8989-exec-1] c.n.u.concurrent.ShutdownEnabledTimer : Shutdown hook installed for: NFLoadBalancer-PingTimer-SKILLTECHNOLOGIESSERVICE
2021-06-16 23:22:39.445 INFO 23636 --- [nio-8989-exec-1] c.netflix.loadbalancer.BaseLoadBalancer : Client: SKILLTECHNOLOGIESSERVICE instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=SKILLTECHNOLOGIESSERVICE,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
2021-06-16 23:22:39.453 INFO 23636 --- [nio-8989-exec-1] c.n.l.DynamicServerListLoadBalancer : Using serverListUpdater PollingServerListUpdater
2021-06-16 23:22:39.471 INFO 23636 --- [nio-8989-exec-1] c.netflix.config.ChainedDynamicProperty : Flipping property: SKILLTECHNOLOGIESSERVICE.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2021-06-16 23:22:39.481 INFO 23636 --- [nio-8989-exec-1] c.n.l.DynamicServerListLoadBalancer : DynamicServerListLoadBalancer for client SKILLTECHNOLOGIESSERVICE initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=SKILLTECHNOLOGIESSERVICE,current list of Servers=[LOCALHOST:8940],Load balancer stats=Zone stats: {defaultzone=[Zone:defaultzone; Instance count:1; Active connections count: 0; Circuit breaker tripped count: 0; Active connections per server: 0.0;]
},Server stats: [[Server:LOCALHOST:8940; Zone:defaultZone; Total Requests:0; Successive connection failure:0; Total blackout seconds:0; Last connection made:Thu Jan 01 05:30:00 IST 1970; First connection made: Thu Jan 01 05:30:00 IST 1970; Active Connections:0; total failure count in last (1000) msecs:0; average resp time:0.0; 90 percentile resp time:0.0; 95 percentile resp time:0.0; min resp time:0.0; max resp time:0.0; stddev resp time:0.0]
]}ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@1467d23d
2021-06-16 23:22:40.070 INFO 23636 --- [nio-8989-exec-1] c.t.b.t.i.z.proxy.filters.PostFilter : Inside Response Filter
2021-06-16 23:22:40.471 INFO 23636 --- [erListUpdater-1] c.netflix.config.ChainedDynamicProperty : Flipping property: SKILLTECHNOLOGIESSERVICE.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
Download Source Code (Attached)
Happy Learning :).





