sofa-pbrpc(sofa protobuf-based rpc)是使用Boost::Asio实现的基于Google Protocol Buffers RPC框架的网络通信库,在百度公司各部门得到广泛使用。
轻量
易用
高性能
接口简单,容易使用
实现高效,性能优异(高吞吐、低延迟、高并发连接数)
测试完善,运行稳定
支持同步和异步调用,满足不同类型需求
支持多级超时设定,灵活控制请求超时时间
支持精准的网络流量控制,对应用层透明
支持透明压缩传输,节省带宽
提供服务和方法级别的服务调用统计信息,方便监控
支持自动建立连接和自动重连,用户无需感知连接
远程地址相同的Client Stub共享一个连接通道,节省资源
空闲连接自动关闭,及时释放资源
支持Mock测试
1.概述 sofa-pbrpc使用Boost::Asio作为其网络层实现,采用google protobuf RPC实现的一款轻量级的RPC框架,另外其还依赖于zlib和snappy两个数据压缩库。需要注意的是,boost头文件仅仅在编译lib库的时候是需要的,对用户的代码是不需要的。另外还需要注意,./unit-test和./sample/mock_sample也依赖于gtest:http://
根据 sofa-pbrpc 的文档,实现了整合使用,下面是项目地址 c++ 客户端和服务端 https://github.com/pengjiawei/protobuf_sofa_rpc_demo java 客户端请求 https://github.com/pengjiawei/protobuf_sofa_rpc_demo 我把这个完全过了一遍,觉得主要注意的有几个地方 如果不想用json或者其他
RpcServerOptions RpcServerOptions定义了RpcServer的服务器选项, 包括以下内容: – 工作线程数目 – 空闲连接的最大持续时间 – 在一个连接中的最大的pending大小 – 最大的入口、出口带宽 – 工作线程启动、销毁前执行的函数 RpcServerOptions定义 struct RpcServerOptions { int work_threa
Linux 下 C++百度开源框架 sofa-pbrpc环境搭建 sofa-pbrpc 是百度内部使用的c++开源网络框架。sofa-pbrpc使用Boost::Asio作为其网络层实现,采用protobuf作为数据打包格式和异步通信框架。 sofa-pbrpc的设计目标: 轻量 易用 高性能 sofa-pbrpc的特性: 接口简单,容易使用 实现高效,性能优异 测试完善,运行稳定 支持同步和异步
网上的一些资料。转自博客园http://www.cnblogs.com/kongsheng/archive/2011/06/15/2081751.html 技术路线: (1) 操作系统:Microsoft Windows Server 2003企业版 (2) 数据库管理系统:Microsoft sql Server 2005 (3) 程序设计工具:Visual Studio.Net 2
SOFA 是一个开源的仿真框架,用于实时的物理仿真,而且主要针对医学上的仿真。主要用于研究人员开发新的算法,也可以作为一个有效的快速成型工具或是物理引擎。 SOFA的先进软件体系结构允许: (1)通过将新算法与现有算法相结合来创建复杂且不断发展的仿真; (2)通过简单地编辑XML文件来修改仿真的关键参数,例如可变形行为,表面表示,求解器,约束,碰撞算法等; (3)使用场景图描述从较简单的模型合成复
SOFA 是一个统计、分析和报表程序,特点是易用、易学以及漂亮的输出效果。SOFA 可直接连接数据库并给出查询结果。
sofa-CouchDB 是 CouchDB 的独立博客,使用 CouchDB 的书来做主要内容,这方便了所有用来在这博客上交流他们的想法,并且里面提供了很多帮助指导,这都是 HTML,Javascript 和 CouchDB 的结晶。目前支持任何人在上面发表看法,但是只能是注册用户才能评论里面的内容。
ComfortableMexicanSofa 是个强大的基于 Ruby on Rails 3 应用的 CMS 引擎。 特性: Build your application in Rails, not in CMS Powerful page templating capability using Tags Multiple Sites from a single installation Mult
我们在WebLogic11g下使用JSF2.1+PrimeFaces6.0+PrimeFaces-Extensions6.0.0、mojarra 2.1.7。 单击p:commandButton后,DOM inspector显示对话框已在正文和html标记之外创建,如下一个图像所示: 在正文外部呈现的对话框 如果我们使用相同的代码(没有帧)创建一个新的.xhtml,并单击p:commandButt
许多的 PHP 开发者都使用框架,而不是重新造轮子来构建 Web 应用。框架抽象了许多底层常用的逻辑,并提供了有益又简便的方法來完成常见的任务。 你并不一定要在每个项目中都使用框架。有时候原生的 PHP 才是正确的选择,但如果你需要一个框架,那么有如下三种主要类型: 微型框架 全栈框架 组件框架 微型框架基本上是一个封装的路由,用来转发 HTTP 请求至一个闭包,控制器,或方法等等,尽可能地加快开