TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Open-sourcing Facebook's internal branch of Thrift

66 点作者 jamesgpearce超过 11 年前

4 条评论

StefanKarpinski超过 11 年前
This is very cool but forking your open source project like this strikes me as very poor open source behavior. Now there's Thrift and FBThrift. It would have been much better to have integrated improvements back into the open source Thrift project incrementally.
评论 #7274073 未加载
frisco超过 11 年前
I used to be all about Thrift. I first started using it back in 2008 and thought it was awesome for a long time. While it clearly works for Facebook (and many others), I&#x27;ve always had little problems with it. Connections silently fail (next request times out, following requests work again) if you don&#x27;t make a call in long enough with some of the bindings. Generated servers sometimes leak memory. The type system is nice but creates all kinds of headaches when trying to reconcile it with something idiomatic in different languages. When many different services need to talk to <i>each other</i> it requires a lot of connections, each of which I came to view as a liability. Thrift&#x27;s semantics are actually underspecified (<a href="http://twitter.github.io/scrooge/Symantics.html" rel="nofollow">http:&#x2F;&#x2F;twitter.github.io&#x2F;scrooge&#x2F;Symantics.html</a>) so Twitter, who uses Thrift, came out with Scrooge, which is mostly compatible but not always.<p>My lesson was that Thrift is great if you have people who can look after it all the time. Thrift connections were never something you could forget about for a little while if you had a small team, though.<p>We&#x27;ve been moving away from Thrift towards a message queue-based system (using RabbitMQ) that lets us do everything Thrift does and more, and works every time. It used to be so nice to start a new service by writing the IDL and getting everyone to agree on a clean, well-bounded interface. Facebook forking their own project is kind of a last straw for my faith in Thrift, though. Oh well.
klickverbot超过 11 年前
I wonder why they didn&#x27;t publish the changes as one big monolithic commit on top of the Apache Git repo instead of obliterating all the history.
jamesaguilar超过 11 年前
30k qps? That seems pretty low even on a per core basis.