lzy lzy
3年前
RPC框架手撕之路---初步了解RPC(小白勿喷)
博主小菜鸡一只,目前研二上学期,之前对rpc框架了解不多,想课余时间丰富一下自己的java知识,通过该系列博客勉励自己,内容对大佬来说可能过于简单,还请轻喷,谢谢。初步理解:RPC是指远程过程调用,通过网络从远程计算机程序上请求服务,此框架需要做到的是——使得客户端直接调用服务端的方法就像调用本地方法一样简单,所以一般不涉及到解析和封装HTTP请求和相应的
Stella981 Stella981
3年前
Apache Dubbo的爱奇艺之旅
ApacheDubbo 简单介绍ApacheDubbo是一款开源的RPC(RemoteProcedureCall,远程过程调用)框架,其提供了简单易用、高性能的RPC能力、灵活可控的扩展、强大的服务治理、完善的开源生态支持,目前已有Java、Go、JS、Python等多个语言支持。ApacheDubbo更
Wesley13 Wesley13
3年前
RPC原理及实现
1简介RPC的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。2调用分类RPC调用分以下两种:同步调用客户方等待调用执行完成并返回结果。
Wesley13 Wesley13
3年前
C++实现简单的RPC框架
简介    RPC是远程过程调用(RemoteProcedureCall)的缩写形式 ,RPC的目的是为了简化网络通信,让用户可以专注于业务处理,不用关心网络层的处理,真正实现在客户端A中调用函数F就可以调用服务端B中的函数F的目的。    RPC模型引入存根进程(stub)的概念, 对于服务端的服务类A,在客户端通过A::s
Wesley13 Wesley13
3年前
HTTP协议与HTTPS协议区别
HTTPS(SecureHypertextTransferProtocol)安全超文本传输协议:  它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络
Stella981 Stella981
3年前
HTTP协议与WebSocket协议对比
1.HTTP从根本上讲,HTTP还是半双工的协议,也就是说,在同一时刻流量只能单向流动:客户端向服务器发送请求(单向),然后服务器响应请求(单向)。2.WebSocketWebSocket是一种自然的全双工、双向、单套接字连接。使用WebSocket,一旦建立连接,服务器与客户端可以随时发送消息。与HTTP轮询不同,WebSocket只发有一个请
Stella981 Stella981
3年前
Bytom DAPP开发流程
从目前已经发布的DAPP来看,DAPP架构大致可以分成3种类型:插件钱包模式、全节点钱包模式和兼容模式。插件钱包模式是借助封装了钱包的浏览器插件通过RPC协议与区块链节点通信,插件在运行时会将Web3框架注入到DAPP前端页面中,然后DApp通过Web3来与区块链节点通信。全节点钱包模式需要项目方同步并持有一
Wesley13 Wesley13
3年前
RPC 框架通俗解释 转自知乎(洪春涛)
本地过程调用RPC就是要像调用本地的函数一样去调远程函数。在研究RPC前,我们先看看本地调用是怎么调的。假设我们要调用函数Multiply来计算lvalue\rvalue的结果:!(https://images2018.cnblogs.com/blog/1273541/201806/127354120180621165953515884
Stella981 Stella981
3年前
MQTT协议和Modbus协议比较
协议就是通信双方的一个约定,即,表示第1位传输的什么、第2位传输的什么……。Modbus协议主要构成是地址码/标识码,功能码,寄存器地址,数据报文等内容。由于modbus协议是请求/应答通信协议,其其中功能码主要用于表述该数据报文执行的功能,当服务器对客户机进行响应时,它使用功能码域来指示正常响应(无差错)或者异常响应(即出现某种差错),其中的modbu
Easter79 Easter79
3年前
Tensorflow的gRPC编程(一)
首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。比如说,一个方法可能是这样定义的:EmployeegetEmployeeByName(StringfullN