目前有很多RPC框架,比如阿里的dubbo,那么到底RPC框架有什么优势,什么场景下使用呢。

dubbo 基于 tcp 协议;

一个完整的RPC架构里面包含了四个核心的组件,分别是Client ,Server,Client Stub以及Server Stub,这个Stub可以理解为存根。

RPC的接口定义接口很像Android  跨进程IPC调用的AIDL (Android接口定义语言)。

一、RPC相较于Http接口的优势:

两者最大的差别在传输协议上,

  1) 数据包

HTTP带请求头,相比之下,大大精简了传输内容。

这也就是为什么后端进程间通常会采用 自定义tcp协议 的 rpc 来进行通信的原因。

HTTP1.1是字符协议。

2) 效率

像dubbo框架采用TCP协议,二进制传输,Google的grpc 这种 rpc 库使用的 是http2.0协议 (二进制分帧)。

据说相较于HTTP1.1协议传输,在大规模访问情况下,效率差十几倍。

3)SOA面向服务治理

流行的RPC架构封装了 “服务发现”,"负载均衡",“熔断降级” 一类面向服务的高级特性。单纯使用http调用则缺少了这些特性。

二、使用场景:

1)内部子系统较多。

众多的内部子系统是驱动采用RPC架构的原因之一,订单系统,支付系统,商品系统,用户系统............, 每个可独立单独布署。

RPC主要使用在大型企业内部子系统之间的调用。因为大型企业里面系统繁多,业务线复杂,而且效率优势非常重要的一块,这个时候RPC的优势就比较明显了。

基于HTTP协议的接口,包括Webservice等主要作为对外接口服务。

2)接口访问量巨大。

RPC基于长连接。

要求满足支持 "负载均衡",“熔断降级” 一类面向服务的高级特性。

3)接口非常多;

     “服务发现”。

RPC框架的使用场景相关推荐

  1. 如何手撸一个较为完整的RPC框架

    [文章作者/来源]一个没有追求的技术人/https://sourl.cn/sJ4Brp 缘 起 最近在公司分享了手撸RPC,因此做一个总结. 概 念 篇 RPC 是什么? RPC 称远程过程调用(Re ...

  2. 花了一个星期,我终于把RPC框架整明白了!

    " RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想. 作者:李金葵,来自:51CTO技术栈 R ...

  3. RPC框架实践之:Apache Thrift

    一.概述 RPC(Remote Procedure Call)即 远程过程调用,说的这么抽象,其实简化理解就是一个节点如何请求另一节点所提供的服务.在文章 微服务调用链追踪中心搭建 一文中模拟出来的调 ...

  4. 重磅消息:蚂蚁金服推出RPC框架

    2019独角兽企业重金招聘Python工程师标准>>> 先附上框架地址 https://github.com/alipay/sofa-boot https://github.com/ ...

  5. rpc框架都有哪些_这六种微服务RPC框架,你知道几个?

    开源 RPC 框架有哪些呢? 一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的. 跟语言平台绑定的开源 RPC 框架主要有下面几种. Dubbo:国内最早开源的 RPC 框架,由阿里巴 ...

  6. 向高手进阶,从 0 开始手写实现一个 RPC 框架!

    前言 在实际后台服务开发中,比如订单服务(开发者A负责)需要调用商品服务(开发者B负责),那么开发者B会和A约定调用API,以接口的形式提供给A.通常都是B把API上传到Maven私服,然后B开始写A ...

  7. 支撑微博千亿调用的轻量级RPC框架:Motan

    随着微博容器化部署以及混合云平台的高速发展,RPC 在微服务化的进程中越来越重要,对 RPC 的需求也产生了一些变化.今天主要介绍一下微博 RPC 框架 Motan,以及为了更好的适应混合云部署所做的 ...

  8. c# 调用restful json_微服务调用为啥用RPC框架,http不更简单吗?

    背景 在一次的面试交谈中,聊到业务实现的技术架构.不管系统大小,一般都是微服务的架构,所以就产生了一个问题,为什么服务之间调用,选择用RPC,http 不也能实现服务之间的通信吗?怎么不用呢?或者 R ...

  9. RPC框架性能基本比较测试

    from: http://www.useopen.net/blog/2015/rpc-performance.html RPC框架性能基本比较测试 gRPC是Google最近公布的开源软件,基于最新的 ...

  10. Netty和RPC框架线程模型分析

    <Netty 进阶之路>.<分布式服务框架原理与实践>作者李林锋深入剖析Netty和RPC框架线程模型.李林锋已在 InfoQ 上开设 Netty 专题持续出稿,感兴趣的同学可 ...

最新文章

  1. Matlab实现图像白平衡(灰度世界法、全反射算法)
  2. 校招9.28笔试题:1-N 的幂集中集合个数 去除含相邻数字的集合
  3. x509代码实例java_Java X509AttributeCertificate.getIssuer方法代码示例
  4. 单片机小白学步系列(二十一) IO口:基本的LED和按键操作
  5. Meaven的pom文件配置
  6. javascript的性能优化
  7. mysql bind param_mysql绑定参数bind_param原理以及防SQL注入
  8. Muduo 网络编程示例之三:定时器
  9. Ansible 获取主机信息模块setup、获取文件详细信息模块stat(学习笔记十)
  10. mysql 中触发器的使用
  11. java鼠标监听事件_Java鼠标事件监听器的创建和使用教程及代码
  12. 计算机怎么用函数算出成绩自评,SPSSAU一众新功能上线:高级公式、综合得分一键计算!...
  13. 微信再次重大更新,同时支持5个浮窗展示,你怎么看?
  14. RSSHub 的衍生项目 RSSHub Rader 安装构建 问题 Error: Cannot find module 'node-sass'
  15. 教程丨键盘上的各按键的作用与常用办公快捷键大全
  16. 手机不小心把计算机隐藏了怎么恢复出厂设置,图标隐藏了怎么弄出来(手机图标隐藏了怎么恢复)...
  17. HBuilder打包iOS教程
  18. linux挂载磁盘(自动挂载\解决重启后挂载磁盘消失的问题)
  19. 简单行编辑程序设计文档(数据结构)课设
  20. 红蓝对抗之蓝队面试题part 4

热门文章

  1. 自然语言处理总复习(五)—— 词义消歧
  2. NeRF 源码分析解读(二)
  3. 巴塞罗那2019-20赛季球队大名单
  4. php 模拟蜘蛛,php 实现使用curl模拟百度蜘蛛进行采集
  5. 《西方确指》明心生极乐、专修净土乃大孝、持咒显空慧
  6. 中国的底气在哪?我从优衣库发现了一个秘密
  7. 阿里巴巴国际站首页地址怎复制链接店铺PC自己外贸平台装修链接我的全球旺铺装修全屏代码装修设置复制链接
  8. css中表格内容从顶部开始,CSS粘性定位固定表格thead部分元素小方法
  9. django如何连接Mysql中已有的数据库
  10. mac电脑视频去水印