RPC原理和应用

本文探讨了RPC(远程过程调用)的基本原理,包括为何使用RPC及其网络透明性。RPC服务通过proto或thrift实现消息通信,具备跨语言能力。详细介绍了RPC的调用流程,涉及client、server、RPC代理、消息协议和网络协议的角色。讨论了RPC性能的影响因素,如网络IO模型和消息封装格式,并比较了几种主流RPC框架,如Dubbo、gRPC和Thrift的特性与应用场景。
摘要由CSDN通过智能技术生成

为什么要使用RPC框架

RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。

  • RPC网络模型对于是透明的。即调用者不需要关注传输层协议使用的是UDP还是TCP,也不关注网络IO的模型。
  • RPC服务提供协议式的消息通信机制,即通信双方使用proto或者thrift规定好传输的信息,调用方正确地将信息传递到接收方(Request),就可以实现一次通信,通信的结果通过Response返回。
  • 跨语言的能力:在企业中,经常可以听到XX引擎,比如:翻译引擎,这个引擎有可能使用python去做的,然后暴露一个RPC接口。调用方有可能使用的是Java,也有可能是Go又或者是NodeJs,但是翻译引擎并不关心。只要翻译引擎正确接受到了信息,就可以进行处理。因为在传输过程中,消息都会被序列化,所以在这一层面上就摆脱了变成语言的束缚。

RPC框架如何实现通信

在这里插入图片描述

  1. client为服务的调用方,通常我们写好thrift文件之后,使用kite框架能够自动生成调用的框架。
  2. Server为服务的提供方通
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值