Kraps-RPC

从 Spark 中分离出的 RPC 框架
授权协议 Apache 2.0
开发语言 Scala
所属分类 Web应用开发、 RPC/XMLRPC项目
软件类型 开源软件
地区 国产
投 递 者 裴嘉许
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Kraps-rpc 是一个从 Spark 分离出来的 RPC 框架,基于 Spark 2.1版本,你可以把它看作 spark-rpc,其中 spark 这个词是反转的(kraps)。 这个模块主要用于研究 Spark 如何在 RPC 中工作。Spark 包含许多分布式组件,例如驱动程序、主控、执行程序、块管理器等,它们通过 RPC 进行通信。在 Spark 项目中,功能被封装在 Spark-core 模块中。Kraps-rpc 将核心 RCP 部分与其分离,不包括安全性和流式下载功能。

依赖树

[INFO] +- org.apache.spark:spark-network-common_2.11��2.1.0:compile
[INFO] |  +- io.netty:netty-all��4.0.42.Final:compile
[INFO] |  +- org.apache.commons:commons-lang3��3.5:compile
[INFO] |  +- org.fusesource.leveldbjni:leveldbjni-all��1.8:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind��2.6.5:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations��2.6.5:compile
[INFO] |  +- com.google.code.findbugs:jsr305��1.3.9:compile
[INFO] |  +- org.apache.spark:spark-tags_2.11��2.1.0:compile
[INFO] |  \- org.spark-project.spark:unused��1.0.0:compile
[INFO] +- de.ruedigermoeller:fst��2.50:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-core��2.8.8:compile
[INFO] |  +- org.javassist:javassist��3.21.0-GA:compile
[INFO] |  +- org.objenesis:objenesis��2.5.1:compile
[INFO] |  \- com.cedarsoftware:java-util��1.9.0:compile
[INFO] |     +- commons-logging:commons-logging��1.1.1:compile
[INFO] |     \- com.cedarsoftware:json-io��2.5.1:compile
[INFO] +- org.scala-lang:scala-library��2.11.8:compile
[INFO] +- org.slf4j:slf4j-api��1.7.7:compile
[INFO] +- org.slf4j:slf4j-log4j12��1.7.7:compile
[INFO] |  \- log4j:log4j��1.2.17:compile
[INFO] +- com.google.guava:guava��15.0:compile

更多细节,可参考:深入解析Spark中的RPC


  • 写在前面: 技术,不要那么复杂 什么是RPC 以下摘自百度百科 远程过程调用协议 RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底>层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络>通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内

  • 首先,客户端发起RPC调用请求 // SayHello say hello. func (d *dao) SayHello(c context.Context, req *api.HelloReq) (resp *empty.Empty, err error) { if resp, err

  • 一、RPC了解         RPC和计算机核心处理器关系密切相关! 处理器的发展历程是根据系统所需要的CPU数量和类型,可以分为以下三种: 1.单核处理器时代         此阶段处于CPU发展初期         1.1971年,世界上第一块处理器4004在intel诞生,拥有2300个晶体管的4位CPU。         2.1979年,intel推出16位处理器8088芯片,包含290

  •         RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。          为什么要用RPC呢?就是无法在一个进程内,甚至一个计算机内通过本地调用的方式完成的需求,比如不同的系统间的通讯,甚至不同的组织间的通讯,由于计算能力需要横向扩展,需要

  • 什么是RPC 在某种意义上,WebService、REST均是RPC的实现,那么RPC的发展过程如何呢?本文参考了wikipedia,对RPC做一下简要摘记。 RPC(RemoteProcedureCall),是进程间通信(IPC,Inter-Process Communication)的一种技术,一般指不同机器上的进程间通信。在采用C等古老语言编程的时候,RPC被称作了对S端的“子程序”的调用,

  • ref : http://zhoulifa.bokee.com/6128714.html   在查看libc6-dev软件包提供的工具(用 dpkg -L libc6-dev 命令)的时候,发现此软件包提供了一个有用的工具rpcgen命令。 通过rpcgen的man手册看到此工具的作用是把RPC源程序编译成C语言源程序,从而轻松实现远程过程调用。 下面的例子程序的作用是客户端程序取中心服务器上时间

  • 标题rpc 1 远程过程调用,是分布式系统中不同节点间流行的通信方式 --简单来说成熟的rpc库相对http容器,更多的是封装了“服务发现”,"负载均衡",“熔断降级”一类面向服务的高级特性。可以这么理解,rpc框架是面向服务的更高级的封装。如果把一个http servlet容器上封装一层服务发现和函数代理调用,那它就已经可以做一个rpc框架了。 所以为什么要用rpc调用? 因为良好的rp

 相关资料
  • distributed RPC(分布式RPC) (DRPC) 的设计目的是充分利用Storm的计算能力实现高密度的并行实时计算。Storm topology(拓扑)接受若干个函数参数作为输入,然后输出这些函数调用的结果。 严格的来说,DRPC不能够算作Storm的一个特性,因为它是一种基于Storm 原语(Stream,Spout,Bolt,Topology)实现的设计模式。DRPC可以脱离Sto

  • 主要内容:1.RPC流水线工程,2.RPC 技术选型,3.如何设计 RPC1.RPC流水线工程 ① Client以本地调用的方式调用服务 ② Client Stub接收到调用后,把服务调用相关信息组装成需要网络传输的消息体,并找到服务地址(host:port),对消息进行编码后交给Connector进行发送 ③ Connector通过网络通道发送消息给Acceptor ④ Acceptor接收到消息后交给Server Stub ⑤ Server Stub对消息进行解码,

  • Flex提供RPC服务以向客户端提供服务器端数据。 Flex为服务器端数据提供了相当大的控制。 使用Flex RPC服务,我们可以定义要在服务器端执行的用户操作。 Flex RPC Sservices可以与任何服务器端技术集成。 其中一个Flex RPC服务提供内置支持,可以通过线路传输压缩二进制数据,速度非常快。 Flex提供以下三种类型的RPC服务 S.No RPC服务和描述 1 HttpSe

  • 基于GWT的应用程序通常由客户端模块和服务器端模块组成。 客户端代码在浏览器中运行,服务器端代码在Web服务器中运行。 客户端代码必须在网络上发出HTTP请求才能访问服务器端数据。 RPC,远程过程调用是GWT使用的机制,其中客户端代码可以直接执行服务器端方法。 GWT RPC是基于servlet的。 GWT RPC是异步的,客户端在通信期间从不被阻止。 使用GWT RPC Java对象可以直接在

  • RPC

    RPC文档托管在这里: https://tendermint.com/rpc/ 若要更新文档,可以在 rpc/core 目录 编辑相关的 godoc 注释。

  • RPC

    JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. JSON-RPC is a stateless, light-weight remote procedu