Facebook开放轻量开源工具Fbthrift

  据媒体消息,今天">Facebook宣布开放另一个版本的软件库和代码生成工具,通过这个工具,不仅可以自动生成分布式的应用程序客户端,而且可以为服务器端节省不少代码编译的工作量。 “我们没有让这一切发生大的变化,”在接受ARS记者采访时,Facebook的基础设施工程布莱克表示,“它仍然可以与传统的轻量应用程序进行交互,但在Apache服务器方面,我们做了很多工作从基础层来提高C++代码的扩展性,这对我们非常重要,因为我们的许多受欢迎的服务,是建立在这些轻量级代码的基础上。” 目前尚不清楚的是,这些已经更改的轻量代码是否已经被纳入了现有的Apache基金会的工程代码库中,因为这些代码是Facebook利用原有的2007年版的开源Apache许可证进行创建的。这一系统的最新版本名叫Fbthrift,在其中增添了一些旨在处理大数据的新特点,所包含的服务表现的更为复杂,它包括一个新的C + +代码生成器组件,目的是用更少的、更密集的内存,驱动重负载的硬件系统,支撑更多的上层服务。

  这种节省大量系统工作负担的机制,通过远程调用基于过程的(PRC)分布式组件,驱动众多的Facebook平台和和其他Web应用程序之间的网络通信,以及各种移动应用程序后台。它允许开发者专注于实际的处理和演示代码,支持的语言包括除C++语言,还包括Java、Ruby、Perl、Python、PHP和C#代码的自动生成。在这套组件的说明中,不仅介绍了数据结构被发送和接收的简单服务接口定义的文件格式,而且将这一使用过程描述为一套可以共用的、自动组装生成的代码合集。 “轻量级的设计起初是为简单的RPC服务,它只能处理基础的数据行为,原始版本往往存在各种数据拥堵问题,”布莱克说,“对数据的请求行为,将以相同顺序的行为返回。”因为有一些其他的特殊需求,轻量级的应用程序可以以一个高性能的方式来弥补在数据等待处理过程中,所造成的损失。“所以我们添加了对无序操作的支持,当数据返回时,一切都已经准备好了。”

  异步处理的请求,将使得性能进一步提升,Facebook的工程师必须进一步增大内存,以便提高所生成的C++代码的数据处理能力。轻量级的C++代码生成将充分使用相同的内存空间,为每个请求安排合理的顺序,以便处理原来无法处理的数据行为。因此,facebook的工程团队推出了在线的、傻瓜式的开放源代码类库IOBuf,它可以为每个行为请求释放新的缓存,减少性能损失,优化系统运行效率。

  另一个重要特点是,它增加了一个新的报头协议,称为Theader,这将避免新的功能,与现有的轻量化服务之间的互相不兼容。“在Tumblr方面,我们也有我们自己的版本”布莱克表示,“通过这一服务协议,可以对指定请求的元数据信息,进行分布式跟踪,并对信号实现资源重载。我们将一个开放源代码的版本发布在线上,人们可以使用它作为实现某种功能的参考,未来我们或许会与Apache开展轻量级代码工具的系统级融合。”

时间: 2024-11-03 00:05:53

Facebook开放轻量开源工具Fbthrift的相关文章

如何用轻量协作工具做bug管理

对于一个团队来说,工作效率的高低很大程度上取决于团队的管理. 而作为一名刚接触测试职位的新人来说,如何把一堆堆杂乱不堪的bug管理得井井有条,无疑是最重要的. 我之前一直觉得测试是一份很个人化的工作,每个人有每个人做测试的思路,尤其是编写测试用例,需要大量的自定义字段来充实整个测试体系.在bug管理上,交给任何一个管理工具,我觉得都不如自己手动编辑测试逻辑更加高效. 因此,除了excel,我之前基本没有接触过其他工具. 工作了一段时间,我渐渐发现还是自己太年轻,测试其实是一份非常需要配合沟通的工

比深度学习快几个数量级,详解Facebook最新开源工具——fastText

Facebook声称fastText比其他学习方法要快得多,能够训练模型"在使用标准多核CPU的情况下10分钟内处理超过10亿个词汇",特别是与深度模型对比,fastText能将训练时间由数天缩短到几秒钟.   Facebook FAIR实验室在最新博客中宣布将开源资料库fastText,声称相比深度模型,fastText能将训练时间由数天缩短到几秒钟. | 使用fastText实现更快.更好的文本分类 理解人们交谈时的内容,或者敲打文章时的内容--这对于人工智能研究者来说是最大的技术

31款轻量高效的开源 JavaScript 插件和库

31款轻量高效的开源 JavaScript 插件和库 目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有用,而且不会影响网站的性能.本文,就为大家整理了以来30多款轻量级Javascript插件和库的列表,这些工具服务于特定的目标,并且它们能够非常有效和高效地实现目标. 不管你想创建一个图片库.一个滑动效果,个性化菜单还是其他接口元素,你都可以用这

CYQ.Data 轻量数据层之路 优雅V1.4版本 框架开源

开源说明 本次开源针对最新版本V1.4版本,相关更新见:CYQ.Data 轻量数据层之路 优雅V1.4 现世 附API帮助文档(九) bug反馈.优化建议.及最新框架版本下载见:CYQ.Data 轻量数据层之路 bug反馈/优化建议/框架下载   相关产品 1:配套API帮助文档 2:配套辅助工具 3:配套使用说明   相关产品简略说明 1:API 文档截图一张   2:辅助工具截图一张   3:使用帮助 1:CYQ.Data 轻量数据层之路 使用篇一曲 裸身走天涯(十二) 2:CYQ.Data

FineCMS 轻量版开源公告说明

FineCMS轻量版诞生于2009年底,源程序由开发者李睿在qeephp框架(1.5以后采用doitphp改装版)为基础开发的一套以简单.实用.开源为目录的CMS建站系统,主要目标用户锁定在个人站长,在经历了五年多的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步. FineCMS轻量版开发组会持续保持对程序的维护,保证及时都漏洞的修复,广大站长可以完全的放心使用程序,Git开放地址:http://git.oschina.net/dayrui/finecms. FineCMS

CYQ.Data 轻量数据层之路 最后开源版本V1.5.5发布[V1.4源码对外下载] (二十三)

前言: 继V1.5版本已过半个月了,这期间,不断的补充相关的使用教程与视频教程,同时也在不断的改进框架,这一切的努力都有迹可寻. 详见:CYQ.Data 轻量数据层之路 框架开源系列 索引   关于最后开源版本说明: V1.5.N 版本仍为开源版本,只是不会再增加功能,升级只为修正bug. V1.5 以上版本将仍继续发布,但不再开源.   简要升级说明: 本版本主要修正框架对于Sql 2000数据库的下应用. 同时MDataTable增加对列的删除函数.   升级记录如下: 1:修正sql 20

CYQ.Data 轻量数据层之路 华丽V1.3版本 框架开源

本篇对框架开源进行说明:   提前说明: 1:最近有很多友人没有留言就加群了,导致被拒绝,这此说声抱歉啦.    不过规则还是要遵守的,毕竟人数有限.    如果只是想着可有可无的看,下面有一份反编绎源码,基本也不影响高手查看了. 2:另外也有个别留了言没加群的,也只能说声音抱歉了,源码不会发到指定的邮箱.    源码会发送到指定邮箱的情况:仅限于公司名义,同时站内信有消息,才会特别去发邮件的.       本次开源针对最新版本V1.3版本,相关更新见:CYQ.Data 轻量数据层之路 华丽升级

轻量应用服务器 常见应用安装与配置:搭建Mantis开源缺陷跟踪系统

搭建Mantis开源缺陷跟踪系统 下面我们来介绍如何使用轻量应用服务器搭建一个Mantis开源缺陷跟踪系统. 1. 创建服务器 访问轻量应用服务器购买页面,选择LAMP镜像,并选择套餐.购买时长,确认订单支付并确认. 2. 查看应用信息 创建服务器成功后,点击服务器列表页的LAMP轻量应用服务器卡片 点击应用管理,应用详情 查看并记录预装好的LAMP开发环境的相关信息 复制其中的命令,鼠标右键-复制 打开右上角的远程连接功能 连接成功后,在打开的远程连接窗口中 粘贴 输入刚刚复制的命令并按回车执

faked 一个用于 mock 后端 API 的轻量工具

一.简介 faked 是一个在前端开发中用于 mock 服务端接口的模块,轻量简单,无需要在本地启动 Server 也无需其它更多的资源,仅在浏览器中完成「请求拉截」,配合完整的「路由系统」轻而易举的 mock 后端 API. GitHub Rep 地址:https://github.com/Houfeng/faked 二.安装 faked 有两种可选安装方式,你可以通过传统的 sciprt 方式引入 faked,如果你采用了 CommonJs 或 ES6 Modules 模块方案,也可通过安装