Thrift服务(一):介绍

前言

Apache Thrift是一种RPC框架。

RPC(Remote Procedure Call)即远程过程调用。其调用协议通常包含传输协议和序列化协议。传输协议包含: 如著名的gRPC(grpc / grpc.io) 使用的 http2 协议,也有如dubbo一类的自定义报文的tcp协议。序列化协议包含: 如基于文本编码的 xml json,也有二进制编码的 protobuf hessian等。

为什么需要RPC

我们现在假设一个场景:服务器1应用程序A里有方法a,服务器2应用程序B里有方法b。如果应用程序A需要调用方法a,直接在本地内存调用即可。那么如果应用程序A想要调用方法b呢?

这种跨进程甚至跨服务器的调用即需要用到RPC(远程过程调用)。需要通过网络传输来表达调用的语义和传达调用的数据。

RPC怎么实现

  1. 服务器A和服务器B如何实现网络连接?或者说客户端和服务端如何实现网络连接?目前网络同通信协议包含TCP协议、UDP协议或者HTTP协议等。目前RPC框架常用的就是TCP协议来建立连接。这时服务器A如果想连接到服务器B,就需要告诉底层的RPC框架服务端的IP、PORT、方法名、方法参数等。
  2. 服务器A的底层RPC框架拿到远程连接的参数后,开始发起远程调用。需要传输的数据是基于网络协议传输的,以TCP协议举例,因为网络协议是基于二进制的,那么内存中的数据就需要序列化(Serialize)或编码(m
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值