关键词:
参考技术A
json-rpc是基于json的跨语言远程调用协议。比xml-rpc、webservice等基于文本的协议数据传输格小;相对hessian、java-rpc等二进制协议便于调试、实现、扩展,是很优秀的一种远程调用协议。眼下主流语言都已有json-rpc的实现框架,java语言中较好的json-rpc实现框架有jsonrpc4j、jpoxy、json-rpc。三者之中jsonrpc4j既可独立使用。又可与spring无缝集合,比较适合于基于spring的项目开发。
json-rpc协议很easy,发起远程调用时向服务端数据传输格式例如以下:
"method": "sayHello", "params": ["Hello JSON-RPC"], "id": 1
参数说明:
method: 调用的方法名
params: 方法传入的参数。若无参数则传入 []
id : 调用标识符。用于标示一次远程调用过程
server其收到调用请求,处理方法调用,将方法效用结果效应给调用方;返回数据格式:
参数说明:
result: 方法返回值。若无返回值。则返回null。
若调用错误,返回null。
error :调用时错误,无错误返回null。
id : 调用标识符,与调用方传入的标识符一致。
以上就是json-rpc协议规范,很easy,小巧。便于各种语言实现。
2.1、server端Java调用演示样例
jsonrpc4jserver端java演示样例:
2.2、Javaclient调用演示样例
jsonrpc4j的Javaclient调用演示样例:
2.3、JavaScriptclient调用演示样例
基于jsonrpcjs的JavaScriptclient调用演示样例:
2.4、直接GET请求进行调用
无需不论什么client。仅仅需手工拼接参数进行远程调用,请求URL例如以下:
参数说明:
method : 方法名
params :调用参数。json的数组格式[], 将参数需先进行url编码,再进行base64编码
id : 调用标识符,随意值。
json-rpc是一种很轻量级的跨语言远程调用协议。实现及使用简单。
仅需几十行代码,就可以实现一个远程调用的client。方便语言扩展client的实现。
server端有php、java、python、ruby、.net等语言实现,是很不错的及轻量级的远程调用协议。
dubbo——http协议+json-rpc
...望能实现这种跨语言的调用,目前Dubbo中使用“HTTP协议+JSON-RPC”的方式来达到这一目的,其中HTTP协议和JSON都是天然跨语言的标准,在各种语言中都有成熟的类库。下面就重点来分析Dubbo对HTTP协议的支持。首先,会介绍JSON-RPC的... 查看详情
远程调用——hessian使用入门
Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。常见的远程调用的技术:1、webser... 查看详情
rpc好,还是restful好?(代码片段)
...RPC什么是JSON-RPCJSON-RPC2.0规范中定义JSON-RPC是一个无状态且轻量级的远程过程调用(RPC)协议。本规范主要定义了一些数据结构及其相关的处理规则。它允许运行在基于socket,http等诸多不同消息传输环境的同一进程中。其使用JSON(RFC4... 查看详情
1.saltsock介绍—安装
...不是串行。使用安全的加密协议使用python进行开发优点:轻量级,使用python开发,开源端口:4505发送消息给minion端4506返回结果到master端(重点)二.安装准备:安装三台虚拟机,一台为master,两台为client,关闭防火墙,selinuxvim/etc... 查看详情
rpc原理及实现
...RemoteMethodProtocol)和java的原生序列化。(2)Hessian,是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。基于HTTP协议,采用二进制编解码。(3)THRIFT是一种可伸缩的跨语言服务的软件框架。thrift允许你定义一个描... 查看详情
of.jsonrpc(.net轻量级服务框架)
... 的.NET实现,它是基于HTTP或TCP或本地调用方式实现的轻量级松耦合的远程调用服务框架,提供了高效可用、无侵入式的方式搭建自己的服务平台,可以快速开发、调试、发布、调用服务,保持轻量级及可定制性。可以基于它... 查看详情
jsonrpc.js--原生js实现json-rpc协议
...计,那时候自己设计了个消息传递回调过程。最近了解了JSON-RPC协议,更正规,就可以自己实现下。逻辑也不复杂,没有限制底层消息传递的方式,可以应用到更多的场景。在实现中,没有区分服务器端和客户端的概念,获得不... 查看详情
hessian怎样实现远程调用
...中提供了对Hessian的支持。Hessian是由Caocho公司发布的一个轻量级的二进制协议远程调用实现方案,Hessian也是基于HTTP协议的,其工作原理如下:(1).客户端:a.发送远程调用请求:客户端程序—>发送远程调用请求—>Hessian... 查看详情
sylixos中rpc简介
...SylixOS中移植了SUN公司的开源RPC库——libsunrpc,主要用于远程过程调用,现对其通信机制及远程调用过程做简单的介绍。2、RPC通信机制 2.1RPC介绍RPC(RemoteProcedureCallProtocol)——远程过程调用协议,它是一种通过... 查看详情
soap协议介绍
...表示应用程序定义的数据类型的实例,另外还有一个表示远程过程调用和应答的协定。SOAP被设计为可以与各种其它协议结合使用;但这篇文章仅描述如何将SOAP和HTTP及HTTP扩展框架相结合。 1.简介SOAP以XML形式提供了一 查看详情
ldap-轻量级目录访问协议(统一认证)
参考资料LDAP概念和原理介绍我花了一个五一终于搞懂了OpenLDAPLDAP-ApacheDirectoryStudio使用(创建DC.OU及用户) 查看详情
轻量级rpc设计与实现第一版(代码片段)
什么是RPCRPC(RemoteProcedureCallProtocol),远程过程调用,通俗的解释就是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样,不需要了解底层网络技术的协议。简单的整体... 查看详情
轻量级分布式rpc框架
RPC,即RemoteProcedureCall(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC可基于HTTP或TCP协议,WebService就是基于HTTP协议的RPC,它具有良好的跨平台性,但其性能却不如基于TCP协议的RPC... 查看详情
企业级工作流解决方案--微服务消息处理模型之服务端处理(代码片段)
...:https://www.jsonrpc.org/specification JSON-RPC是一个无状态且轻量级的远程过程调用(RPC)协议,它允许运行在基于socket,http等诸多不同消息传输环境的同一进程中。其使用JSON(RFC4627)作为数据格式,它为简单而生。 请求对象 ... 查看详情
轻量级分布式rpc框架
...方面会直接影响RPC的性能,一是传输方式,二是序列化。轻量级分布式RPC框架的具体过程,该框架基于TCP协议Spring: 查看详情
grpc概述及示例
...下RPC. 什么是RPCRPC(RemoteProcedureCallProtocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携... 查看详情
mqtt协议-mqtt协议简介及协议原理
...协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一... 查看详情
使用 nodejs 调用 JSON-RPC
】使用nodejs调用JSON-RPC【英文标题】:CallJSON-RPCusingnodejs【发布时间】:2018-05-0409:07:11【问题描述】:我正在尝试通过nodejs的请求模块调用json-rpc调用。json-rpc调用格式如下curl--usermyusername--data-binary\'"jsonrpc":"1.0","id":"curltest","method":... 查看详情