【RPC】远程过程调用
RPC:
参考文章
概念
远程过程调用(Remote Procedure Call),一个节点请求另一个节点提供的服务
是一个远程调用的抽象,支持 负载均衡、容灾 和 集群
负载均衡
- 负载均衡:建立在现有网络之上,提供了一种有效透明的方法扩展 网络设备 和 服务器 的 带宽、增加吞吐量,增强网络数据处理能力、提高网络的灵活性和可用性
- 负载均衡(Load Balance)意思是分摊到多个单元上进行执行,例如Web服务器、FTP服务器,企业关键应用服务器和其他关键任务服务器等,从而共同完成工作任务
容灾
容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康监视和功能切换,当一处系统因意外(火灾 地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统可以继续正常工作
集群
集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域,该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,是共享资源 分担费用 共用信道设备及服务的多用途,高效能的无线调度通信系统
过程:
- Client端:
- 触发语句:
Student student = Call(ServerAdd, addAge, student0);
- 将这个调用映射为Call ID
- 将Call ID ,student(params)序列化,以二进制的形式打包
- 将打包好的数据发送给ServerAddr,需要使用网络传输层
- 等待服务器返回结果
- 如果服务器调用成功,那么就将结果序列化,并赋值给student,年龄更新
- 触发语句:
- Server端
- 在本地维护一个Call ID 到函数的指针的映射call_id_map,可以使用
Map<String, Method)> callIdMap
- 等待客户端请求
- 得到一个请求后,将其数据包反序列化,得到Call ID
- 通过在callIdMap中查找,得到相应的函数指针
- 将student(params)反序列化后,在本地调用addAge()函数,得到结果
- 将student结果序列化后通过网络返回给Client
- 在本地维护一个Call ID 到函数的指针的映射call_id_map,可以使用
【RPC】远程过程调用相关推荐
- 130、RPC远程过程调用
RPC简介 1. 什么是RPC 远程过程调用(英语:Remote Procedure Call,缩写为 RPC,也叫远程程序调用)是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机 ...
- Windows RPC 远程过程调用
本文章转载自 http://blog.csdn.net/xxxluozhen/article/details/5605818 作者写的很详细并且通俗易懂 一.什么是远程过程调用 什么是远程过程调用 ...
- RPC 远程过程调用
RPC简介 RPC,英文全称: Remote Procedure Call. 中文名: 远程过程调用,是一个计算机通讯协议.借助RPC可以像调用本地服务一样地调用远程服务.比如两台服务器订单服务器和商 ...
- zkcli远程连接_高级框架第一天RPC:远程过程调用
RPC:远程过程调用 主要内容 1.项目结构变化 2.RPC简介 3.RMI实现RPC 4.HttpClient实现RPC 5.Zookeeper安装 6.Zookeeper客户端常用命令 7.向Zo ...
- 架构师之路 — 分布式系统 — RPC 远程过程调用
目录 文章目录 目录 RPC RPC 架构 成熟的开演 RPC 框架 RPC RPC(Remote Procedure Call,远程过程调用)是一种计算机程序通信方式,允许运行于一台计算机中的程序调 ...
- RabbitMQ学习系列(五): RPC 远程过程调用
前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/ca ...
- (扫盲)RPC远程过程调用
https://blog.csdn.net/mindfloating/article/details/39473807 https://blog.csdn.net/mindfloating/artic ...
- 分布式机构 RPC远程过程调用
- 远程过程调用RPC简介
RPC(Remote Procedure Call, 远程过程调用):是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想. RPC是一种技术思想而非一种规范或协议,常见RPC技术 ...
- RPC(Remote Procedure Calls)远程过程调用
很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...
最新文章
- 假如计算机是中国人发明的,那代码应该这么写
- 分布式系统,session共享方案
- DeepMind开源Psychlab平台——搭建AI和认知心理学的桥梁(附论文和代码下载)
- HDFS集群安装部署
- Mycat高可用集群搭建
- spring的Aop使用问题
- Mysql权限控制 - 允许用户远程连接
- 100天搞定机器学习|Day4-6 逻辑回归
- [XCTF-Reverse] 69 XCTF 3rd-RCTF-2017_MyDriver2-397
- 逻辑函数卡诺图法化简(一)
- 我和刘强东的故事2:这次是真的
- 瑞幸咖啡,不过是又一个“逃离美团者”
- 将Java中的内容直接存储为二进制文件
- cef osr拖拽功能实现
- 华为鸿蒙最大合作伙伴,全球第三大手机系统「鸿蒙」上线,这19款能抢先用…...
- iOS 12.4 越狱 unc0ver 已经支持
- VR paper 投稿总结
- Nacos小坑——启动异常以及正常启动后账号密码错误问题解决
- segnet 迁移学习
- 物流信息管理软件测试培训,第四方物流管理系统的分析与软件测试
热门文章
- 网站建设中常见的21个漏洞及预防方法
- (转)“宇宙之王”高盛在历史的交叉口,不得不全面走向机器自动化
- 学无止境的 Linux | 龙蜥开发者说第4期
- 阿里云解决方案架构师徐翔:云上安全建设实战
- Gartner 解析容器新发展, 阿里云、AWS布局最完善
- 【图像加密】基于matlab GUI+Logistic+Tent+Kent+Henon图像加密与解密【含Matlab源码 1745期】
- 【车间调度】基于matlab改进的遗传算法求解车间调度问题【含Matlab源码 H002期】
- 【TSP】基于matlab GUI蚁群算法求解旅行商问题【含Matlab源码 929期】
- 建站模板论坛_【714】号称全球最快的无代码拖拽集成建站工具?
- python gif_Python-字符版gif图