在微服务设计里,服务之间的调用是很正常的,通常使用HttpClient来实现对远程资源的调用。
1、HttpClient简介
HttpClient类可以用来发送Http请求(get,post,put,delete)。相比传统JDK自带的URLConnection,HttpClient易用性强大,灵活性更强大。
2、HttpClient什么时候用
在微服务设计里,服务之间的调用是很正常的,通常使用HttpClient来实现对远程资源的调用,这种方法使用简便,只需要知道服务的地址,业务接口地址即可。常见的用法,就是针对HttpClient,在外面进行一次封装,类似这样:
HttpGet httpGet = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
HttpResponse resp = client.execute(httpGet);
HttpEntity entity = resp.getEntity();
String respContent = EntityUtils.toString(entity, "utf-8").trim();
httpGet.abort();
client.getConnectionManager().shutdown();
return respContent;
在调用的时候,大概是这样:
String urls = mapToUrl("");//这里是组合URL的方法
String result = HttpClients.clientDoPost(urls);//这里就是调用上面封装的httpclient
JSONObject json = JSONObject.parseObject(result);//解析返回值
注意事情:负载均衡
HttpClient调用需要要做负载均衡,需要借助Nginx或者Apache这样的第三方代理程序。