写点什么

BERT-- 作为 Protocol Buffers/Thrift 的动态替代

2009 年 11 月 03 日

尽管 XML 在数据编码方面尤为突出,仍然有很多情况下效率不高成为了阻碍,这是由编码 / 解码的效率不足与所占用的空间两方面所造成的。流行的二进制序列化格式有得到广泛使用的 ASN.1, Google 的 ProtocolBuffers,以及 Facebook 的 Thrift

一个新的格式现在为 GitHub 的后端提供支持:BERT ,它由 Tom Preston-Werner 在 Erlang 用于编码节点间通讯术语的外部术语格式(ETF) 的基础上所构建。

BERT 对 ETF 进行了扩展,加入了字典,时间和正则表达式等复杂数据类型。

BERT 不同于 ASN.1 与 Protocol Buffers 之处在于其格式不要求一个模式或者是 IDL 规范。Tom Preston-Werner 解释这使得 BERT 就好像是 JSON 这一思想的二进制版:

我喜欢 JSON。我喜欢抽取一种语言的子集并用它来促进进程间通信这种概念。这使我想起我关于 Erlectricity 所做的工作。两年以前我为 Erlectricity 写过一个 C 扩展来加速 Erlang 的外部术语格式的反序列化。
[…] 如果我将 Erlang 的外部术语格式的公共部分抽取出来,让它成为进程间通信的标准,会怎么样呢?如果让 Erlang 拥有像 JavaScript 的 JSON 那样的相同的事物又会怎样呢?如果能在这一格式的基础上构建一个 RPC 协议,又会如何?这些东西看起来会像什么样子,能简单的实现吗?

BERT-RPC 允许对托管在 BERT-RPC 服务器上的代码远程调用,它使用 BERTs 来编码 (节点的) 协商,并返回调用的值。Tom 提到了 BERT-RPC 的一些特性

  • 同步及异步的调用 […]
  • 流 (来或往)
  • 缓存指令

Ruby 代码可通过使用像 Ernie 这样的 BERT-PRC 服务器来获得。

已有现成的 BERT 和 BERT-RPC 规范。至于 Ruby 和 Erlang 实现的其它语言可替代实现包括 BERT for Javascript Python ,以及其它。

你更倾向于 BERT 这样的无模式方案呢,还是像 ASN.1 和 ProtocolBuffers 这样的基于 IDL 的选择?

查看英文原文: BERT as Dynamic Alternative to Protocol Buffers/Thrift

2009 年 11 月 03 日 08:362395
用户头像

发布了 133 篇内容, 共 27.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

3.5 Go语言从入门到精通:标准输入输出fmt包

xcbeyond

golang Go语言从入门到精通 5月日更 fmt包

白嫖福利!阿里P7大神梳理的Java数组详细知识点,太实用了

飞飞JAva

Java

把复杂留给自己,简单留给用户

石云升

5月日更

【细说】经验分享《一对一单带回血上岸》百度推荐最佳

Geek_1c6014

【独家】我终于发现《快三能赢钱真实案例》百度推荐最佳

Geek_1c6014

【关于】细说关于《大小单双4期必中》精准计划玩法

Geek_1c6014

微服务-技术专题-微服务进程间通信

李浩宇/Alex

微服务 分布式架构

如何提升工作效率

wangwei1237

工作效率 文化 大历史理论

模块三作业

Geek_1cdcf6

算法训练营 - 学习笔记 - 第四周

心在飞

搞定品牌六重营销需求,户外广告的优势不容忽视!

󠀛Ferry

5 月日更

【独家】高手揭秘《压大小稳赢有技巧吗》多年心得

Geek_1c6014

【细说】专家分析《凯利公式赌单双百度经验》必赚计划

Geek_1c6014

【细说】独家实测《500本金一个月赚12万》最近玩法推荐

Geek_1c6014

【独家】我终于发现《快三三期必中法》翻盘技巧

Geek_1c6014

【关于】大神分析《快3怎么预测下期和值》回本攻略

Geek_1c6014

【JS】作用域(入门篇)

学习委员

JavaScript 前端 Web js 前端进阶

【独家】专家分析《凯利公式1赔1应该下多少钱》必中公式

Geek_1c6014

【细说】实际分析《赌大小怎么玩才不会输》技巧总结

Geek_1c6014

【细说】独家推荐《进一退二法倍投法详解》必胜口诀

Geek_1c6014

【独家】实战心得《大小单双6期必中的方法》上岸技巧玩法

Geek_1c6014

【独家】大神分享《快三出号规律》盈利攻略

Geek_1c6014

【关于】研究心得《正确的4期倍投》必赚计划

Geek_1c6014

独家】总算明白《凯利公式压大小稳赚》最近玩法推

Geek_1c6014

【细说】推荐最稳《大小单双怎么看路子》终于领悟了

Geek_1c6014

【独家】大神教你《200元回血一万技巧》多年心得

Geek_1c6014

【细说】分享关于《实战一分快三三期必中》必中公式

Geek_1c6014

顺序一致性(Sequential Consistency)

UNDEFINED

sequential consistency Java Concurrency distributed system

高级研发工程师都有哪些特点?【超级准】

liuzhen007

技术人生 工作体会 程序猿

【细说】经验分享《用1万每天坚持赢3千》高手秘籍

Geek_1c6014

【关于】实际分析《快三三期必中规律》稳赢技巧

Geek_1c6014

BERT--作为Protocol Buffers/Thrift的动态替代-InfoQ