RPC框架的使用场景
目前有很多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框架的使用场景相关推荐
- 如何手撸一个较为完整的RPC框架
[文章作者/来源]一个没有追求的技术人/https://sourl.cn/sJ4Brp 缘 起 最近在公司分享了手撸RPC,因此做一个总结. 概 念 篇 RPC 是什么? RPC 称远程过程调用(Re ...
- 花了一个星期,我终于把RPC框架整明白了!
" RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想. 作者:李金葵,来自:51CTO技术栈 R ...
- RPC框架实践之:Apache Thrift
一.概述 RPC(Remote Procedure Call)即 远程过程调用,说的这么抽象,其实简化理解就是一个节点如何请求另一节点所提供的服务.在文章 微服务调用链追踪中心搭建 一文中模拟出来的调 ...
- 重磅消息:蚂蚁金服推出RPC框架
2019独角兽企业重金招聘Python工程师标准>>> 先附上框架地址 https://github.com/alipay/sofa-boot https://github.com/ ...
- rpc框架都有哪些_这六种微服务RPC框架,你知道几个?
开源 RPC 框架有哪些呢? 一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的. 跟语言平台绑定的开源 RPC 框架主要有下面几种. Dubbo:国内最早开源的 RPC 框架,由阿里巴 ...
- 向高手进阶,从 0 开始手写实现一个 RPC 框架!
前言 在实际后台服务开发中,比如订单服务(开发者A负责)需要调用商品服务(开发者B负责),那么开发者B会和A约定调用API,以接口的形式提供给A.通常都是B把API上传到Maven私服,然后B开始写A ...
- 支撑微博千亿调用的轻量级RPC框架:Motan
随着微博容器化部署以及混合云平台的高速发展,RPC 在微服务化的进程中越来越重要,对 RPC 的需求也产生了一些变化.今天主要介绍一下微博 RPC 框架 Motan,以及为了更好的适应混合云部署所做的 ...
- c# 调用restful json_微服务调用为啥用RPC框架,http不更简单吗?
背景 在一次的面试交谈中,聊到业务实现的技术架构.不管系统大小,一般都是微服务的架构,所以就产生了一个问题,为什么服务之间调用,选择用RPC,http 不也能实现服务之间的通信吗?怎么不用呢?或者 R ...
- RPC框架性能基本比较测试
from: http://www.useopen.net/blog/2015/rpc-performance.html RPC框架性能基本比较测试 gRPC是Google最近公布的开源软件,基于最新的 ...
- Netty和RPC框架线程模型分析
<Netty 进阶之路>.<分布式服务框架原理与实践>作者李林锋深入剖析Netty和RPC框架线程模型.李林锋已在 InfoQ 上开设 Netty 专题持续出稿,感兴趣的同学可 ...
最新文章
- Matlab实现图像白平衡(灰度世界法、全反射算法)
- 校招9.28笔试题:1-N 的幂集中集合个数 去除含相邻数字的集合
- x509代码实例java_Java X509AttributeCertificate.getIssuer方法代码示例
- 单片机小白学步系列(二十一) IO口:基本的LED和按键操作
- Meaven的pom文件配置
- javascript的性能优化
- mysql bind param_mysql绑定参数bind_param原理以及防SQL注入
- Muduo 网络编程示例之三:定时器
- Ansible 获取主机信息模块setup、获取文件详细信息模块stat(学习笔记十)
- mysql 中触发器的使用
- java鼠标监听事件_Java鼠标事件监听器的创建和使用教程及代码
- 计算机怎么用函数算出成绩自评,SPSSAU一众新功能上线:高级公式、综合得分一键计算!...
- 微信再次重大更新,同时支持5个浮窗展示,你怎么看?
- RSSHub 的衍生项目 RSSHub Rader 安装构建 问题 Error: Cannot find module 'node-sass'
- 教程丨键盘上的各按键的作用与常用办公快捷键大全
- 手机不小心把计算机隐藏了怎么恢复出厂设置,图标隐藏了怎么弄出来(手机图标隐藏了怎么恢复)...
- HBuilder打包iOS教程
- linux挂载磁盘(自动挂载\解决重启后挂载磁盘消失的问题)
- 简单行编辑程序设计文档(数据结构)课设
- 红蓝对抗之蓝队面试题part 4