RCF:一个相当不错的C++分布式RPC框架

RCF(远程调用框架)是一个可以移植的C++进程间通信框架,使用C++语言特性,提供了一个简单高效的编写分布式C++软件的途径。RCF利用编译时多态清晰分开了接口和实现. 和传统的RPC框架如CORBA,DCOM,.NETRemoting,WCF,WS-*,等所支持的面向对象方式不一样,RCF提供了一种面向接口的方式。RCF让你明确指定接口和数据,而不是产生复杂的对象模型和不透明的串行化代码,这样你能自由实现自己的对象模型。

   RCF的其他优势:
· 可移植性 支持多种编译器,和操作系统. 
· 可伸缩性 可用于广泛应用,从父子进程IPC到大型分布式系统. 
· 高效, 在一些关键路径上使用了零拷贝,零分配,包括服务端和客户端. 
· 支持多种传输方式 (TCP, UDP, Win32有名管道 and UNIX本地套接字). 
· 支持压缩和加密. 
· 支持单向和双向消息. 
· 支持批量单向消息. 
· 支持发布/订阅风格消息. 
· 支持UDP上的多播和广播. 
· 支持服务端到客户端的回调. 
· 健壮的版本支持. 
· 内建串行化框架. 
· 内建 Boost.Serialization 支持. 
· 内建Google's Protocol Buffers 支持. 
· 支持单线程和多线程编程模式. 
· 无依赖, 除了一些 Boost 头文件 (1.33.0 or later). zlib 和 OpenSSL 依赖是可选.

RCF使用场合:
· 客户端-服务器系统,分布在局域网或者广域网. 从工业进程控制角度,替代分布式桌面应用DCOM,提供跨平台通信能力.
    后台服务组件,在典型的同质局域网环境。
· Windows服务和她的监控程序之间的通信。
· 32位和64位可执行组件通信桥,例如64位程序调用32位动态连接库.
· 父子进程间通信.
· 一般的本地IPC,取代COM.

时间: 2024-09-14 00:52:09

RCF:一个相当不错的C++分布式RPC框架的相关文章

一个轻量级分布式RPC框架--NettyRpc

1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个轻量级的分布式RPC框架.花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo.这个RPC框架虽小,但是麻雀虽小,五脏俱全,有兴趣的可以学习一下. 本人在这个简易版的RPC上添加了如下特性: * 服务异步调用的支持,回调函数callback的支持 * 客户端使用长连接(在多次调用共享连接) *

基于zeromq的高性能分布式RPC框架Zerorpc 性能测试

Zeromq 是基于zeromq.gevent和 msgpack开发的分布式RPC框架zerorpc-python.这个框架简单.易用. 1. 安装zeromq yum -y install zeromq yum install gcc gcc-c++ libuuid-devel python-uuid uuid wget http://download.zeromq.org/zeromq-2.1.9.tar.gz ./configure make make install 2.安装gevent

commonrpc 1.0 发布,高性能分布式 RPC 框架

还在羡慕BAT,京东等公司的大流量的架构吗?让你的java系统引用解耦,互相独立,commonrpc 就可以办到.commonrpc 1.1版本 在commonrpc 1.0 支持tcp 协议基础上,扩展支持 http协议,同时HTTP协议支持restful 方式访问,不需要tomcat 等容易,直接main可以跑起来,让java 应用服务化更加彻底,更加解耦,是java应用提供的服务各个开发语言都可以接入. 文章转载自 开源中国社区 [http://www.oschina.net]

微服务RPC框架选美

1.RPC 框架谁最美? 本文讲的是微服务RPC框架选美,Hello,everybody!说到RPC框架,可能大家能想到一堆RPC开源框架,那么在微服务平台中,微服务间的服务调用,不可避免的会遇到一个问题,该选用哪一个RPC框架好呢?今天我们就请到三位RPC框架,来进行一场选美大赛,看看谁更适合微服务平台中的服务间调用. 大家好,我是Dubbo!我是阿里开源的分布式服务框架,最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合). 大家好,我是Motan!我

Apache Storm 官方文档 —— 分布式 RPC

分布式 RPC(DRPC)的设计目标是充分利用 Storm 的计算能力实现高密度的并行实时计算.Storm 接收若干个函数参数作为输入流,然后通过 DRPC 输出这些函数调用的结果.严格来说,DRPC 并不能算作是 Storm 的一个特性,因为它只是一种基于 Storm 原语 (Stream.Spout.Bolt.Topology) 实现的计算模式.虽然可以将 DRPC 从 Storm 中打包出来作为一个独立的库,但是与 Storm 集成在一起显然更有用. 概述 DRPC 是通过一个 DRPC

php实现的一个简单json rpc框架实例

 这篇文章主要介绍了php实现的一个简单json rpc框架实例,本文给出了RPC服务端和客户端代码以及应用实例,需要的朋友可以参考下     json rpc 是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统.不同环境的程序实现基于Internet过程调用的规范和一系列的实现.这种远程过程调用可以使用http作为传输协议,也可以使用其它传输协议,传输的内容是json消息体. 下面我们code一套基于php的rpc框架,此框架中包含rpc的服务端server,和应用端cl

自己实现一个RPC框架

RPC简介 远程调用协议. 有多有用,多普遍就不摆了. 大概过程: 1. 调用客户端句柄,传输参数. 2. 封装参数等消息为网络传输格式传给远程主机 3. 服务器句柄得到消息并解析参数 4. 在服务器段执行要调用的代码,并把结果返回给服务器句柄 5. 服务器句柄封装返回结果并用网络传输给客户端 6. 客户端解析并进行其他处理 可见之问题主要有,通信方式.句柄实现.以及消息封装和解析(序列化及反序列化) RPC 之 通信 直接用Socket走TCP/IP 或者是UDP协议, 例如RMI 走HTTP

一个分布式处理框架,毫无头绪,求好心人指点一二,给个思路,万分感谢!!!!

问题描述 一个分布式处理框架,毫无头绪,求好心人指点一二,给个思路,万分感谢!!!! 最近接到了一个任务,就是参考谷歌的mapreduce写一个分布式处理框架,要求可以跨机器,就这么点要求,毫无思路...求大神指点

我只用asp.net和sql server 可以开发一个相对不错的网站吗?

问题描述 我只用asp.net和sqlserver可以开发一个相对不错的网站吗?对于我刚刚入门,对于网站还不是很了解,就会asp.net和sqlserver并且技术都很平平的,想请专业的人士给指点下,我就用这两个技术可以开发出来一个可以上传下载和留言(差不多和论坛一样的功能)的网站吗? 解决方案 解决方案二:ASP.NET+SQL可以开发这样的网站,比这个功能更强的网站都可以开发问题是你有没有信心去开发它,加油啊,兄弟,有不懂的问题,就到这上面来发帖解决方案三:该回复于2009-05-03 14