服务调用方式
1 . 目标
- 理解RPC和HTTP的区别
- 能使用RestTemplate发送请求
2. 讲解
1 . RPC和HTTP
常见远程调用方式:
RPC:(Remote Produce Call)远程过程调用
1.基于Socket
2.自定义数据格式
3.速度快,效率高
4.典型应用代表:Dubbo,WebService,ElasticSearch集群间互相调用
HTTP:网络传输协议
1.基于TCP/IP
2.规定数据传输格式
3.缺点是消息封装比较臃肿、传输速度比较慢
4.优点是对服务提供和调用方式没有任何技术限定,自由灵活,更符合微服务理念
RPC和HTTP的区别:RPC是根据语言API来定义,而不是根据基于网络的应用来定义。
2. Http客户端工具
常见Http客户端工具:HttpClient、OKHttp、URLConnection。
Spring的RestTemplate
(1)RestTemplate介绍
- RestTemplate是Rest的HTTP客户端模板工具类
- 对基于Http的客户端进行封装
- 实现对象与JSON的序列化与反序列化
- 不限定客户端类型,目前常用的3种客户端都支持:HttpClient、OKHttp、JDK原生URLConnection(默认方式)
(2)RestTemplate入门案例
我们可以使用RestTemplate实现上图中的请求,springcloud-day1-