既然有http 请求,为什么还要用rpc调用?

        对于这个问题,个人觉得是没有对rpc有一个深入的了解,可以自己实现一下过程,相信比阅读多少参考文档更有效。对于这个问题,简单的区别下。涉及更深入知识请自行翻阅之前内容。

首先:

http 和 rpc 并不是一个并行概念。

http是超文本传输协议,应用层网络协议。

rpc不是协议,是指remote procedure call 远程过程调用,对不同应用间相互调用的一种描述。其调用协议通常包含传输协议和编码协议;支持http和tcp;

其次:

rpc调用是面向服务的封装,针对服务的可用性和效率等都做了优化。单纯使用http调用则缺少了这些特性。

例如rpc框架提供的负载均衡,服务治理,自动熔断/降级,实现二进制传输等;

如果把一个http server容器上封装一层服务发现和函数代理调用,那它就已经可以做一个rpc框架了。

总结:

RPC是一种编程模式,把对服务器的调用抽象为过程调用,通常伴随着框架代码自动生成等功能。使用RPC做网络服务开发时,通常只需要实现服务器端的一个处理函数,其余的客户端调用,序列化反序列化,方法派发等都由框架或者生成的代码来完成,较大地减轻了网络服务开发和调用的复杂性。RPC框架更多的在内网中应用间调用使用,http 除了内网传输,更习惯用在跨网间,跨语言间调用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值