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.

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

  1. 如何实现一个分布式 RPC 框架

    远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程.RPC的主要目标 ...

  2. 自己动手从0开始实现一个分布式RPC框架

    简介: 如果一个程序员能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现.负载均衡.序列化协议.RPC通信协议.Socket通信.异步调用.熔断降级等技术,可以全方位的提升基本素质 ...

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

    1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个轻量级的分布式RPC ...

  4. 分布式RPC框架dubbo、motan、rpcx、gRPC、thrift简介与性能比较

    分布式RPC框架性能大比拼 dubbo.motan.rpcx.gRPC.thrift的性能比较  Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现 ...

  5. 轻量级分布式 RPC 框架

    RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. RPC 可基于 HTTP 或 TCP 协议,Web Servi ...

  6. dubbo-快速入门-分布式RPC框架Apache Dubbo

    文章目录 分布式RPC框架Apache Dubbo 1. 软件架构的演进过程 1.1 单体架构 1.2 垂直架构 1.3 SOA架构 1.4 微服务架构 2. Apache Dubbo概述 2.1 D ...

  7. 还发愁项目经验吗?基于Netty实现分布式RPC框架[附完整代码]

    写给大家的话 最近我收到很多读者的来信,对如何学习分布式.如何进行项目实践和提高编程能力,存在很多疑问. 分布式那么难,怎么学?为什么看了那么多书还是掌握不了? 开源的框架比如Dubbo代码太多了,完 ...

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

    Zeromq 是基于zeromq.gevent和 msgpack开发的分布式RPC框架zerorpc-python.这个框架简单.易用. 1. 安装zeromq 1 2 3 4 5 6 yum -y ...

  9. 分布式RPC框架Apache Dubbo

    分布式RPC框架Apache Dubbo 1. 软件架构的演进过程 软件架构的发展经历了由单体架构.垂直架构.SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构. 1.1 单体架构 1. ...

最新文章

  1. 百度自从取消餐补,公司同事天天七点多就跑了,八点基本工位都空了。
  2. python爬虫如何从一个页面进入另一个页面-Python爬虫如何获取页面内所有URL链接?本文详解...
  3. 【学术相关】以前写过水论文怎么办?
  4. 二十五、Kaggle | 全球听众最多的50首歌曲
  5. datax源码阅读一:python文件
  6. layui左侧菜单接口java实现:替代init.json
  7. VScode 结局插件prettier和vetur格式化冲突
  8. 高并发大流量专题---10、MySQL数据库层的优化
  9. python类汇总_Python 类总结
  10. java生成四则运算表达式_生成四则运算(java实现)
  11. Introduction to Chinese natural language processing
  12. SNS类游戏cache server设计浅析
  13. Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息
  14. 推荐:没有项目经验,可以读一下这几个开源的企业级项目...
  15. iTEXT常用属性设置
  16. 内存分配者-动态内存
  17. 阅读笔记 - 20220409
  18. 双击vivado 显示你要以何方式打开.xpr文件或者Vivado无法双击打开xpr工程
  19. python中msg函数_【ROS】ROS自定义msg以及在python中的使用
  20. 数据结构初学之循环队列补充

热门文章

  1. 2022年卫星导航系统模拟器市场前景分析及研究报告
  2. Android超级课程表实现原理
  3. Lumerical官方案例、FDTD时域有限差分法仿真学习(七)——纳米孔阵列(Nanohole array)
  4. 手把手教你搭建java接口自动化测试框架(四):断言、生成测试报告
  5. 深入实践Spring
  6. 如何学习织梦二次开发,怎样进行dedecms二次开发
  7. 446061-19-4,DOTA-p-苯-氨基-四叔丁酯具有连接靶向分子探针特性
  8. adobe air.dmg_有两个新增功能:Adobe AIR 2.0即将推出!
  9. 本文专注于lt;递归算法和分治思想[胖虎学习算法系列]
  10. c语言用枪射气球小游戏,小程序,敲键盘,射气球(图形界面,第一次用汉字)