Spring Cloud微服务开发笔记4——Ribbon框架使用方法

本文介绍Netfilx的第二个框架——Ribbon。

(1)Ribbon是Netflix下的负载均衡框架,支持可插拔式的负载均衡规则。

它在微服务集群中为各个客户端提供通信的支持。它主要实现中间层应用层程序的负载均衡。注意,是客户端的负载均衡器。

(2)支持多种协议:HTTP(TCP),UDP协议等

(3)提供负载均衡客户端

概述

Ribbon作为Netfix下的子模块被继承到spring框架下,spring对Ribbon的API进行来了重新封装。(spring就TM喜欢做这种事情,像hibernate等都把API大变样了一番)所以,我们既可以调用Ribbon原生的API,也可以使用spring封装好的Ribbon的API开调用使用Ribbon的负载均衡功能。

本文先按照原生的API来介绍,等到本系列博客的后面介绍继承这些内容的时候我们在用spring封装的API来实现。

Ribbon的子模块

ribbon-core:包含负载均衡器实现及其接口

ribbon-eureka:为eureka客户端提供的负载均衡的实现类

ribbon-httpclient:对httpclient组件进行封装,该模块提供了负载均衡功能的rest客户端。(就像csf、restlet等rest客户端一样,之前一篇文章中使用的RestTemplate也是一个rest客户端,只是相比之下,ribbon-httpclient就更加强大了含有负载均衡功能)

(本文出自oschina博主happyBKs的文章:https://my.oschina.net/happyBKs/blog/1646208)

负载均衡器

一个负载均衡器,主要需要提供以下功能:

(1)维护各个服务器的IP地址信息

(2)根据特定逻辑选取服务器

为了实现上述两个功能,Ribbon负载均衡器实现有以下三大子模块:

Rule :规则——谁处理?

Ping:

ServerList : 服务列表——都有谁?

示例

下面我们以一个最简单的Ribbon框架应用示例来介绍如何使用ribbon框架实现一个最简单的负载均衡功能。

服务端编写

我们首先搭建一个服务应用,像上文的例子一样,留个控制台输入端口参数初始化,启动两个服务实例,用于负载均衡实验。

springboot启动类:

package com.happybks.service;

import java.util.Scanner;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = { "com.happybks.service.controllers" })
public class RibbonExampleServerApplication {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		final String port=sc.nextLine();
		new SpringApplicationBuilder(RibbonExampleServerApplication.class).properties("server.port="+port).run(args);
		sc.close();
	}
}

控制器类:

注意,我们这里讲请求request对象中的请求url记录下来作为json输出,这样我们在客户端就能知道,ribbon负载均衡为我们选择了哪个服务实例来响应请求。

package com.happybks.service.controllers;



import javax.servlet.http.HttpServletRequest;

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.happybks.beans.CarBean;

@RestController
public class ServiceController {

	@RequestMapping(value="/carsInfo/onsale",method=RequestMethod.GET,produces= MediaType.APPLICATION_JSON_VALUE)
	public CarBean listCarInfo(HttpServletRequest request) {
		CarBean carBean = new CarBean();
		carBean.setBrandName("Volvo");
		carBean.setPrice(536000);
		carBean.setServiceUrl(request.getRequestURL().toString());
		return carBean;
	}
}

这里插个体外话,算是罗列个知识点吧,因为之前springMVC的博客中有没有写过我忘记了。

@Controller和@RestController的区别?

官方文档:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

CarBean的定义:

package com.happybks.beans;

public class CarBean {
	String brandName;
	double price;
	String serviceUrl;
	public String getBrandName() {
		return brandName;
	}
	public void setBrandName(String brandName) {
		this.brandName = brandName;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public String getServiceUrl() {
		return serviceUrl;
	}
	public void setServiceUrl(String serviceUrl) {
		this.serviceUrl = serviceUrl;
	}
}

客户端编写

来了,这才是重头。Ribbon框架实现负载均衡的不是服务提供者,也不是之前文章中Eureka集群中的eureka服务器,而是我们的客户端。不然,我们本文的例子中也没有eureka服务器,不也实现负载均衡了。

首先我们在pom文件中引入ribbon的jar

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-ribbon</artifactId>
		</dependency>

本文为了体现ribbon的独立性,我不构建springweb项目,而是用一个简单的main函数来完成rest客户端对服务的请求,以及使用ribbon的基本步骤,还有就是否建负载均衡的基本方法。

用ribbon构建一个负载均衡功能的rest请求客户端可以分5步:

package com.happybks.invokers;

import com.netflix.client.ClientFactory;
import com.netflix.client.http.HttpRequest;
import com.netflix.client.http.HttpResponse;
import com.netflix.config.ConfigurationManager;
import com.netflix.niws.client.http.RestClient;

public class InvokerUtils {

	public static void request() throws Exception {
		// 1、设置请求的服务器
		ConfigurationManager.getConfigInstance().setProperty("happybks-client.ribbon.listOfServers",
				"localhost:8091,localhost:8092"); // 1
		// 2、 配置规则处理类
		//本示例略,先默认使用其默认负载均衡策略规则

		// 3、获取 REST 请求客户端
		RestClient client = (RestClient) ClientFactory.getNamedClient("happybks-client");

		// 4、创建请求实例
		HttpRequest request = HttpRequest.newBuilder().uri("/carsInfo/onsale").build();

		// 5、发 送 10 次请求到服务器中
		for (int i = 0; i < 10; i++) {
			System.out.println("the "+(i+1)+"th: ");
			HttpResponse response = client.executeWithLoadBalancer(request);
			String result = response.getEntity(String.class);
			System.out.println(result);
		}
	}

}

写个简单的类,main方法调用一下

package com.happybks.invokers;

public class PureClientApplication {

	public static void main(String[] args) throws Exception {
		InvokerUtils.request();
	}

}

我们来简单说说这几个步骤:

首先第一步是配置:

配置有两种途径,一个是在代码中动态配置。好吧,你说是硬编码就硬编码吧。即我们在程序运行时通过ConfigurationManager.getConfigInstance().setProperty()获取配置实例,然后在内存中修改具体的配置项属性。

在本例子中:

happybks-client.ribbon.listOfServers分别各部分对应如下:

happybks-client是名称(随便,后面的命名rest客户端,要对应着来)

ribbon是命名空间

listOfServers是具体属性

还有一种方式是通过配置文件,然后直接读取配置文件。

ConfigurationManager.loadPropertiesFromResources("sample-client.properties");

具体可以参见github上ribbon的wiki的get start

不过好像最新更新是2014,有些类和方法都过期了,维护者真不用心。

https://github.com/Netflix/ribbon/wiki/Getting-Started

http://netflix.github.io/ribbon/ribbon-core-javadoc/index.html

另外,配置项中我们需要配置上需要负载均衡的一组服务器实例。ribbon客户端会以此服务列表为基础,通过一定的处理规则来选择服务器,实现对请求服务的负载均衡。

然后第二步,配置处理类,今天我们先不说这个,以后的文章会具体介绍ribbon的高级一点的功能。

第三步,构建获取一个客户端实例。注意了,刚才的配置要与获取的客户端名称对应。 

ClientFactory.getNamedClient("happybks-client");

第四步,创建请求实例。到目前为止还未发送请求。

第五步,以负载均衡的形式发送请求client.executeWithLoadBalancer(request);

运行结果:

我们先启动两个服务实例,分别输入端口参数为8091和8092

然后我们启动客户端程序:

运行结果如下:

嘿嘿,一大堆netfilx的debug日志,懒得删了,自己看吧。:) 10次请求中,8092和8091两个端口轮番上台服务。这个就是ribbon默认的负载均衡策略。以后我们还会介绍如何定制负载均衡的规则。

21:02:30.426 [main] WARN com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
21:02:30.431 [main] INFO com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
21:02:30.521 [main] INFO com.netflix.config.DynamicPropertyFactory - DynamicPropertyFactory is initialized with configuration sources: com.netflix.config.ConcurrentCompositeConfiguration@12843fce
21:02:31.378 [main] INFO com.netflix.http4.ConnectionPoolCleaner - Initializing ConnectionPoolCleaner for NFHttpClient:happybks-client
21:02:31.389 [Connection pool clean up thread] DEBUG com.netflix.http4.ConnectionPoolCleaner - Connection pool clean up started for client happybks-client
21:02:31.391 [Connection pool clean up thread] DEBUG com.netflix.http4.MonitoredConnectionManager - Closing expired connections
21:02:31.391 [Connection pool clean up thread] DEBUG com.netflix.http4.NamedConnectionPool - Closing expired connections
21:02:31.391 [Connection pool clean up thread] DEBUG com.netflix.http4.MonitoredConnectionManager - Closing connections idle longer than 30000 MILLISECONDS
21:02:31.391 [Connection pool clean up thread] DEBUG com.netflix.http4.NamedConnectionPool - Closing connections idle longer than 30000 MILLISECONDS
21:02:31.597 [main] INFO com.netflix.config.ChainedDynamicProperty - Flipping property: happybks-client.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
21:02:31.599 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client]:  pingIntervalSeconds set to 30
21:02:31.599 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client]: maxTotalPingTime set to 2
21:02:31.600 [main] INFO com.netflix.loadbalancer.BaseLoadBalancer - Client: happybks-client instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=happybks-client,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
21:02:31.607 [main] DEBUG com.netflix.loadbalancer.ZoneAffinityServerListFilter - ZoneAffinity is set to false
21:02:31.607 [main] DEBUG com.netflix.loadbalancer.ZoneAffinityServerListFilter - activeReqeustsPerServerThreshold: 0.6
21:02:31.607 [main] DEBUG com.netflix.loadbalancer.ZoneAffinityServerListFilter - blackOutServerPercentageThreshold: 0.8
21:02:31.607 [main] DEBUG com.netflix.loadbalancer.ZoneAffinityServerListFilter - availableServersThreshold: 2
21:02:31.609 [main] INFO com.netflix.loadbalancer.DynamicServerListLoadBalancer - Using serverListUpdater PollingServerListUpdater
21:02:31.613 [main] DEBUG com.netflix.loadbalancer.DynamicServerListLoadBalancer - List of Servers for happybks-client obtained from Discovery client: [localhost:8091, localhost:8092]
21:02:31.613 [main] DEBUG com.netflix.loadbalancer.DynamicServerListLoadBalancer - Filtered List of Servers for happybks-client obtained from Discovery client: [localhost:8091, localhost:8092]
21:02:31.613 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client]: clearing server list (SET op)
21:02:31.613 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client]:  addServer [localhost:8091]
21:02:31.613 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client]:  addServer [localhost:8092]
21:02:31.625 [main] DEBUG com.netflix.loadbalancer.DynamicServerListLoadBalancer - Setting server list for zones: {unknown=[localhost:8091, localhost:8092]}
21:02:31.628 [main] INFO com.netflix.config.ChainedDynamicProperty - Flipping property: happybks-client.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
21:02:31.628 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client_unknown]:  initialized
21:02:31.630 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client_unknown]: clearing server list (SET op)
21:02:31.630 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client_unknown]:  addServer [localhost:8091]
21:02:31.630 [main] DEBUG com.netflix.loadbalancer.BaseLoadBalancer - LoadBalancer [happybks-client_unknown]:  addServer [localhost:8092]
21:02:31.637 [main] INFO com.netflix.loadbalancer.DynamicServerListLoadBalancer - DynamicServerListLoadBalancer for client happybks-client initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=happybks-client,current list of Servers=[localhost:8091, localhost:8092],Load balancer stats=Zone stats: {unknown=[Zone:unknown;	Instance count:2;	Active connections count: 0;	Circuit breaker tripped count: 0;	Active connections per server: 0.0;]
},Server stats: [[Server:localhost:8092;	Zone:UNKNOWN;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 GMT+08:00 1970;	First connection made: Thu Jan 01 08:00:00 GMT+08:00 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]
, [Server:localhost:8091;	Zone:UNKNOWN;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 GMT+08:00 1970;	First connection made: Thu Jan 01 08:00:00 GMT+08:00 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:com.netflix.loadbalancer.ConfigurationBasedServerList@55b53d44
21:02:31.637 [main] INFO com.netflix.client.ClientFactory - Client: happybks-client instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=happybks-client,current list of Servers=[localhost:8091, localhost:8092],Load balancer stats=Zone stats: {unknown=[Zone:unknown;	Instance count:2;	Active connections count: 0;	Circuit breaker tripped count: 0;	Active connections per server: 0.0;]
},Server stats: [[Server:localhost:8092;	Zone:UNKNOWN;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 GMT+08:00 1970;	First connection made: Thu Jan 01 08:00:00 GMT+08:00 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]
, [Server:localhost:8091;	Zone:UNKNOWN;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 GMT+08:00 1970;	First connection made: Thu Jan 01 08:00:00 GMT+08:00 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:com.netflix.loadbalancer.ConfigurationBasedServerList@55b53d44
21:02:31.638 [main] INFO com.netflix.client.ClientFactory - Client Registered:com.netflix.niws.client.http.RestClient@482bce4f
the 1th: 
21:02:31.689 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.690 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8092 for request /carsInfo/onsale
21:02:31.693 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8092/carsInfo/onsale
21:02:31.759 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8092, timeout = 2000
21:02:31.761 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8092] total kept alive: 0, total issued: 0, total allocated: 0 out of 200
21:02:31.761 [main] DEBUG com.netflix.http4.NamedConnectionPool - No free connections [{}->http://localhost:8092][null]
21:02:31.761 [main] DEBUG com.netflix.http4.NamedConnectionPool - Available capacity: 50 out of 50 [{}->http://localhost:8092][null]
21:02:31.761 [main] DEBUG com.netflix.http4.NamedConnectionPool - Creating new connection [{}->http://localhost:8092]
21:02:31.784 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnectionOperator - Connecting to localhost:8092
21:02:31.817 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.818 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.818 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.819 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.819 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.819 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.820 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8092[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.821 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.821 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.821 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.821 [main] DEBUG org.apache.http.headers - >> Host: localhost:8092
21:02:31.821 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.821 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.825 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.827 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.827 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.827 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.828 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.828 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.828 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.828 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.828 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.828 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.833 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.849 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.850 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}"
21:02:31.859 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.859 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.860 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.860 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.860 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8092][null]
21:02:31.860 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8092][null]; keep alive indefinitely
21:02:31.860 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}
the 2th: 
21:02:31.861 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.861 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8091 for request /carsInfo/onsale
21:02:31.861 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8091/carsInfo/onsale
21:02:31.861 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8091, timeout = 2000
21:02:31.861 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8091] total kept alive: 1, total issued: 0, total allocated: 1 out of 200
21:02:31.861 [main] DEBUG com.netflix.http4.NamedConnectionPool - No free connections [{}->http://localhost:8091][null]
21:02:31.861 [main] DEBUG com.netflix.http4.NamedConnectionPool - Available capacity: 50 out of 50 [{}->http://localhost:8091][null]
21:02:31.861 [main] DEBUG com.netflix.http4.NamedConnectionPool - Creating new connection [{}->http://localhost:8091]
21:02:31.862 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnectionOperator - Connecting to localhost:8091
21:02:31.862 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.863 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.863 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.863 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.863 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.863 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8091[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.863 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.863 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.863 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.863 [main] DEBUG org.apache.http.headers - >> Host: localhost:8091
21:02:31.863 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.863 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.867 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.867 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.867 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.867 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.867 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.867 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.867 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.867 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.867 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.867 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.867 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.868 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.868 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}"
21:02:31.868 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.868 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.868 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.868 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.868 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8091][null]
21:02:31.868 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8091][null]; keep alive indefinitely
21:02:31.868 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}
the 3th: 
21:02:31.869 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.869 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8092 for request /carsInfo/onsale
21:02:31.869 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8092/carsInfo/onsale
21:02:31.869 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8092, timeout = 2000
21:02:31.869 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8092] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.869 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8092][null]
21:02:31.869 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.871 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.871 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.871 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.871 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.871 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.871 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8092[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.871 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.872 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.872 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.872 [main] DEBUG org.apache.http.headers - >> Host: localhost:8092
21:02:31.872 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.872 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.874 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.874 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.874 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.875 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.875 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.875 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.875 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.875 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.875 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}"
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.875 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.876 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.876 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8092][null]
21:02:31.876 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8092][null]; keep alive indefinitely
21:02:31.876 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}
the 4th: 
21:02:31.876 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.876 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8091 for request /carsInfo/onsale
21:02:31.876 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8091/carsInfo/onsale
21:02:31.876 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8091, timeout = 2000
21:02:31.876 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8091] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.876 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8091][null]
21:02:31.876 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.878 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.878 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.878 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.878 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.878 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.878 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8091[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.878 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.878 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.878 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.878 [main] DEBUG org.apache.http.headers - >> Host: localhost:8091
21:02:31.878 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.878 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.881 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.881 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.881 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.881 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.881 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.881 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.881 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.881 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.881 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.881 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.881 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.881 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.882 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}"
21:02:31.882 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.882 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.882 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.882 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.882 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8091][null]
21:02:31.882 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8091][null]; keep alive indefinitely
21:02:31.882 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}
the 5th: 
21:02:31.882 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.882 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8092 for request /carsInfo/onsale
21:02:31.882 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8092/carsInfo/onsale
21:02:31.883 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8092, timeout = 2000
21:02:31.883 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8092] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.883 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8092][null]
21:02:31.883 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.884 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.884 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.884 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.884 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.884 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.884 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8092[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.884 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.884 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.884 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.884 [main] DEBUG org.apache.http.headers - >> Host: localhost:8092
21:02:31.884 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.884 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.886 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.886 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.886 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.886 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.887 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.887 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.887 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.887 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.887 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.887 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.887 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.887 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.888 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}"
21:02:31.889 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.889 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.889 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.889 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.889 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8092][null]
21:02:31.889 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8092][null]; keep alive indefinitely
21:02:31.890 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}
the 6th: 
21:02:31.890 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.891 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8091 for request /carsInfo/onsale
21:02:31.891 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8091/carsInfo/onsale
21:02:31.892 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8091, timeout = 2000
21:02:31.892 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8091] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.892 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8091][null]
21:02:31.892 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.893 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.893 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.893 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.893 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.893 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.893 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.893 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.893 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.893 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.894 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8091[\r][\n]"
21:02:31.894 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.894 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.894 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.894 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.894 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.894 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.894 [main] DEBUG org.apache.http.headers - >> Host: localhost:8091
21:02:31.894 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.894 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.898 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.898 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.898 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.898 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.898 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.898 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.898 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.898 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.898 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.898 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.898 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.899 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.899 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}"
21:02:31.899 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.899 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.899 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.899 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.899 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8091][null]
21:02:31.899 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8091][null]; keep alive indefinitely
21:02:31.899 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}
the 7th: 
21:02:31.900 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.900 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8092 for request /carsInfo/onsale
21:02:31.900 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8092/carsInfo/onsale
21:02:31.900 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8092, timeout = 2000
21:02:31.901 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8092] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.901 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8092][null]
21:02:31.901 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.902 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.902 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.902 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.902 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.902 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.902 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8092[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.902 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.902 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.902 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.902 [main] DEBUG org.apache.http.headers - >> Host: localhost:8092
21:02:31.902 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.902 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.905 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.906 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.906 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.906 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.906 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.906 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.906 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.906 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.906 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.906 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.906 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.906 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.906 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}"
21:02:31.907 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.907 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.907 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.907 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.907 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8092][null]
21:02:31.907 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8092][null]; keep alive indefinitely
21:02:31.907 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}
the 8th: 
21:02:31.908 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.908 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8091 for request /carsInfo/onsale
21:02:31.908 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8091/carsInfo/onsale
21:02:31.908 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8091, timeout = 2000
21:02:31.908 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8091] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.908 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8091][null]
21:02:31.908 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.909 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.909 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.909 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.909 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.909 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.909 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8091[\r][\n]"
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.909 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.910 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.910 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.910 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.910 [main] DEBUG org.apache.http.headers - >> Host: localhost:8091
21:02:31.910 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.910 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.911 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.912 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.912 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.912 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.912 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.912 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.912 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.912 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.912 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.912 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.912 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.912 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.912 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}"
21:02:31.913 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.913 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.913 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.913 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.913 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8091][null]
21:02:31.913 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8091][null]; keep alive indefinitely
21:02:31.913 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}
the 9th: 
21:02:31.913 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.913 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8092 for request /carsInfo/onsale
21:02:31.913 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8092/carsInfo/onsale
21:02:31.913 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8092, timeout = 2000
21:02:31.914 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8092] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.914 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8092][null]
21:02:31.914 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.915 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.915 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.915 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.915 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.915 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.915 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8092[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.915 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.915 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.915 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.915 [main] DEBUG org.apache.http.headers - >> Host: localhost:8092
21:02:31.915 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.915 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.917 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.917 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.917 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.917 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.918 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.918 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.918 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.918 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.918 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.918 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.918 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.918 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.918 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}"
21:02:31.919 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.919 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.919 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.919 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.919 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8092][null]
21:02:31.919 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8092][null]; keep alive indefinitely
21:02:31.919 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8092/carsInfo/onsale"}
the 10th: 
21:02:31.919 [main] DEBUG com.netflix.loadbalancer.ZoneAwareLoadBalancer - Zone aware logic disabled or there is only one zone
21:02:31.920 [main] DEBUG com.netflix.loadbalancer.LoadBalancerContext - happybks-client using LB returned Server: localhost:8091 for request /carsInfo/onsale
21:02:31.920 [main] DEBUG com.netflix.niws.client.http.RestClient - RestClient sending new Request(GET: ) http://localhost:8091/carsInfo/onsale
21:02:31.920 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Get connection: {}->http://localhost:8091, timeout = 2000
21:02:31.920 [main] DEBUG com.netflix.http4.NamedConnectionPool - [{}->http://localhost:8091] total kept alive: 2, total issued: 0, total allocated: 2 out of 200
21:02:31.920 [main] DEBUG com.netflix.http4.NamedConnectionPool - Getting free connection [{}->http://localhost:8091][null]
21:02:31.920 [main] DEBUG com.netflix.http4.NFHttpClient - Stale connection check
21:02:31.922 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
21:02:31.922 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
21:02:31.922 [main] DEBUG org.apache.http.client.protocol.RequestTargetAuthentication - Target auth state: UNCHALLENGED
21:02:31.922 [main] DEBUG org.apache.http.client.protocol.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
21:02:31.922 [main] DEBUG com.netflix.http4.NFHttpClient - Attempt 1 to execute request
21:02:31.922 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET /carsInfo/onsale HTTP/1.1
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "GET /carsInfo/onsale HTTP/1.1[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "Netflix.NFHttpClient.Version: 1.0[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "X-netflix-httpclientname: happybks-client[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "Host: localhost:8091[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.wire -  >> "[\r][\n]"
21:02:31.922 [main] DEBUG org.apache.http.headers - >> GET /carsInfo/onsale HTTP/1.1
21:02:31.922 [main] DEBUG org.apache.http.headers - >> Netflix.NFHttpClient.Version: 1.0
21:02:31.922 [main] DEBUG org.apache.http.headers - >> X-netflix-httpclientname: happybks-client
21:02:31.922 [main] DEBUG org.apache.http.headers - >> Host: localhost:8091
21:02:31.922 [main] DEBUG org.apache.http.headers - >> Connection: Keep-Alive
21:02:31.922 [main] DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_112)
21:02:31.925 [main] DEBUG org.apache.http.wire -  << "HTTP/1.1 200 [\r][\n]"
21:02:31.925 [main] DEBUG org.apache.http.wire -  << "Content-Type: application/json;charset=UTF-8[\r][\n]"
21:02:31.925 [main] DEBUG org.apache.http.wire -  << "Transfer-Encoding: chunked[\r][\n]"
21:02:31.925 [main] DEBUG org.apache.http.wire -  << "Date: Sun, 18 Mar 2018 13:02:31 GMT[\r][\n]"
21:02:31.925 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.926 [main] DEBUG org.apache.http.impl.conn.DefaultClientConnection - Receiving response: HTTP/1.1 200 
21:02:31.926 [main] DEBUG org.apache.http.headers - << HTTP/1.1 200 
21:02:31.926 [main] DEBUG org.apache.http.headers - << Content-Type: application/json;charset=UTF-8
21:02:31.926 [main] DEBUG org.apache.http.headers - << Transfer-Encoding: chunked
21:02:31.926 [main] DEBUG org.apache.http.headers - << Date: Sun, 18 Mar 2018 13:02:31 GMT
21:02:31.926 [main] DEBUG com.netflix.http4.NFHttpClient - Connection can be kept alive indefinitely
21:02:31.926 [main] DEBUG org.apache.http.wire -  << "5b[\r][\n]"
21:02:31.926 [main] DEBUG org.apache.http.wire -  << "{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}"
21:02:31.926 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.926 [main] DEBUG org.apache.http.wire -  << "0[\r][\n]"
21:02:31.926 [main] DEBUG org.apache.http.wire -  << "[\r][\n]"
21:02:31.926 [main] DEBUG com.netflix.http4.MonitoredConnectionManager - Released connection is reusable.
21:02:31.926 [main] DEBUG com.netflix.http4.NamedConnectionPool - Releasing connection [{}->http://localhost:8091][null]
21:02:31.927 [main] DEBUG com.netflix.http4.NamedConnectionPool - Pooling connection [{}->http://localhost:8091][null]; keep alive indefinitely
21:02:31.927 [main] DEBUG com.netflix.http4.NamedConnectionPool - Notifying no-one, there are no waiting threads
{"brandName":"Volvo","price":536000.0,"serviceUrl":"http://localhost:8091/carsInfo/onsale"}
21:02:31.928 [Thread-2] INFO com.netflix.loadbalancer.PollingServerListUpdater - Shutting down the Executor Pool for PollingServerListUpdater


 

猜你喜欢

转载自my.oschina.net/happyBKs/blog/1646208
今日推荐