- 最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的
- HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹
RPC服务
- RPC架构
一个完整的RPC架构里面包含了四个核心的组件,分别是Client ,Server,Client Stub以及Server Stub,这个Stub大家可以理解为存根。分别说说这几个组件:
客户端(Client),服务的调用方。
服务端(Server),真正的服务提供者。
客户端存根,存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。
服务端存根,接收客户端发送过来的消息,将消息解包,并调用本地的方法。
PC主要是用在大型企业里面,因为大型企业里面系统繁多,业务线复杂,而且效率优势非常重要的一块,这个时候RPC的优势就比较明显了。实际的开发当中是这么做的,项目一般使用maven来管理。
比如我们有一个处理订单的系统服务,先声明它的所有的接口(这里就是具体指Java中的interface),然后将整个项目打包为一个jar包,服务端这边引入这个二方库,然后实现相应的功能,客户端这边也只需要引入这个二方库即可调用了。
为什么这么做?主要是为了减少客户端这边的jar包大小,因为每一次打包发布的时候,jar包太多总是会影响效率。另外也是将客户端和服务端解耦,提高代码的可移植性
长链接和短链接的区别主要体现在以下几个方面:
- 连接状态不同。长链接(Long Connection)是在客户端和服务器之间建立的一种持久性连接,这种连接保持持续的连接状态,用于实现双向通信,适用于需要频繁通信的情况,如在线聊天、在线游戏和实时数据流传输等;短链接(Short Connection)是在客户端和服务器之间建立的一种临时性连接,这种连接在每次通信后立即断开,适用于不频繁的通信,如传统的HTTP/1.0请求响应模型。
- 资源占用不同。长链接通过保持连接打开,可以减少每次通信的连接和断开开销,从而提高效率,但同时可能增加服务器的资源消耗;短链接在每次通信结束后断开连接,不需要维持连接状态,从而节省资源,特别适用于并发量大,但每个用户无需频繁操作的场景,如Web网站。
- 性能特点不同。长链接可以提高应用程序的整体性能,减少网络流量和延迟;短链接提供更好的隔离和资源释放,特别是在客户端和服务器之间的通信较为分散时。
综上所述,长链接和短链接各有优势和适用场景,选择应根据具体的应用需求和场景来决定。
参考文档:https://www.jianshu.com/p/509cfb7f6869
标签:http,接口,链接,RPC,HTTP,连接,服务端,客户端 From: https://www.cnblogs.com/zhaikunkun/p/18149091