IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 分享解析RPC核心原理和几个常用技术 -> 正文阅读

[网络协议]分享解析RPC核心原理和几个常用技术

一.RPC简介

RPC(英文全称:Remote Procedure Call)中文全称:远程过程调用

RPC简单来说就是一种为了解决远程调用服务的一种技术,使得调用者像调用本地服务一样方便透明。

二. 优点

  • 分布式设计
  • 部署灵活
  • 解构服务
  • 扩展性强

三.框架

  • Dubbo:国内最早开源的 RPC 框架,由阿里巴巴公司开发并于 2011 年末对外开源,仅支持 Java 语言。
  • Motan:微博内部使用的 RPC 框架,于 2016 年对外开源,仅支持 Java 语言。
  • Tars:腾讯内部使用的 RPC 框架,于 2017 年对外开源,仅支持 C++ 语言。
  • SpringCloud:国外 Pivotal 公司 2014 年对外开源的 RPC 框架,提供了丰富的生态组件。
  • gRPC:Google 于 2015 年对外开源的跨语言 RPC 框架,支持多种语言。
  • Thrift:最初是由 Facebook 开发的内部系统跨语言的 RPC 框架,2007 年贡献给了 Apache 基金,成为Apache 开源项目之一,支持多种语言。

四.诞生环境

在应用的迭代演进过程中,随着系统访问量、业务复杂度、代码复杂度的提高,应用逐渐从单体式架构向面向服务的分布式架构转变,所以RPC就产生了分布式架构的核心。?

五.按响应方式分


(1)同步调用

?????????客户端调用服务方法,等服务方返回结果或者超时,才继续自己的操作。

????????(实现方式有WebService和RMI)

(2)异步调用

?????????客户端把消息发送给中间件,不等服务端返回直接继续自己的操作。

????????(搭配ActiveMQ和Kafka,RabbitMQ)

六.核心组件


(1)客户端(Client)

?????????服务调用方。

(2)客户端存根(Client Stub)

?????????存放服务端地址信息,将客户端的请求参数打包成网络消息,再通过网络发送给服务方

(3)服务端存根(Server Stub)

?????????接受客户端发送过来的消息并解包,再调用本地服务。

(4)服务端(Server)

?????????真正的服务提供者。

七.RPC常用技术


Dubbo:国内最早开源的RPC框架,由阿里巴巴公司开发并于2011年末对外开源,仅支持Java语言。

Motan:微博内部使用的RPC框架,于2016年对外开源,仅支持Java语言。

Tars:腾讯内部使用的RPC框架,于2017年对外开源,仅支持C++语言。

Spring Cloud:国外Pivotal公司2014年对外开源的RPC框架,仅支持Java语言。

?

更多丰富内容已整理至下方,点击可看

【尚学堂】RPC(远程过程调用)

网络协议~HTTP协议,零基础也可入

资料编号:【B站java019】

目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。


纸上得来终觉浅,绝知此事要躬行。?

好风凭借力,送你上青云!

各位小伙伴,感谢多多支持,点点关注哦~?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 13:06:20  更:2021-11-17 13:06:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:30:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码