springCloud的前奏曲-服务之间的调用方式(2)

本文探讨了SpringBoot中如何利用RestTemplate进行服务间调用,介绍了RPC与HTTP的区别,重点讲解了如何使用HttpClient、OkHttp和RestTemplate进行HTTP调用,并阐述了RestTemplate的简化操作。

一 服务间的调用

1.1 调用的方式

无论是微服务还是SOA,都面临着服务间的远程调用。常见的远程调用方式有以下2种:
1.RPCRemote Produce Call远程过程调用,RPC基于Socket,工作在会话层。自定义数据格式,速度快,效 率高。早期的webservice,现在热门的dubbo,都是RPC的典型代表
2.Httphttp其实是一种网络传输协议,基于TCP,工作在应用层,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用Http协议,也可以用来进行远程服务调用。缺点是消息封装臃肿,优势是对服务的 提供和调用方没有任何技术限定,自由灵活,更符合微服务理念。
现在热门的Rest风格,就可以通过http协议来实现。 选择Spring Cloud套件,使用Http方式来实现服务间调用。

1.2 http调用工具

例如:
HttpClient
OKHttp
URLConnection
pring也有对http的客户端进行封装,提供了工具类叫RestTemplate

1.3 RestTemplate

Spring提供了一个RestTemplate模板工具类,对基于Http的客户端进行了封装,并且实现了对象与json的序列化和 反序列化,非常方便。RestTemplate并没有限定Http的客户端类型,而是进行了抽象,目前常用的3种都有支持:
HttpClient
OkHttp
JDK原生的URLConnection(默认的)

二  RestTemplate

通过RestTemplategetForObject()方法,传递url地址及实体类的字节码,RestTemplate会自动发起请求,接 收响应,并且帮我们对响应结果进行反序列化。
1.启动类注册RestTemplate

 2.启动springboot项目,在项目中的测试类中直接 @Autowired 注入

其实就是:将调用远程服务返回的json串,反序列化成对象 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值