Spring的RestTemplate、RPC和HTTP

https://blog.csdn.net/weixin_35674711/article/details/96112328

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(默认方式)

3、RPC与分布式服务框架的区别

rpc实现了服务消费者调用方client与服务提供方server之间的点对点调用方式,调用方与服务方一般采用直连的调用方式。

而分布式服务框架,除了包括RPC的特性之外,还包括多台server提供服务的负载均衡策略以及实现方式,服务注册,发布与引入,服务治理,网关等特性。

总得来说,分布式服务框架包含了RPC的特性。

相关推荐
Wang's Blog11 分钟前
Java框架快速入门: Spring Security+OAuth2之RBAC与角色分层实践
java·网络·spring
小林ixn4 小时前
跨域、SSE 与 WebSocket:从一次「请求被拦截」说起
websocket·http
liangsheng_g4 小时前
Spring事务传播行为分派与挂起恢复源码实战
数据库·sql·spring
麻瓜code5 小时前
【Agent】从 0 手写智能体框架:ReAct + ToolCall 分层设计
人工智能·spring
小坏讲微服务5 小时前
Spring AI 高频面试题20道
java·spring·ai·agent·springai
Bs_MoneyMagnet5 小时前
基于springboot+vue的会议室预约管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
Bs_MoneyMagnet5 小时前
基于springboot+vue的茶铺管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
她说..5 小时前
RabbitMQ 使用场景详解
java·spring boot·后端·spring·rabbitmq·java-rabbitmq
盖伦发发6 小时前
MySQL InnoDB事务完整教程|ACID、MVCC、隔离级别、事务控制
经验分享·后端·spring·软件工程
Wang's Blog6 小时前
Java框架快速入门: Spring Security+OAuth2之搭建授权服务器(依赖与表结构)
java·服务器·spring