TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Open-sourcing Facebook's internal branch of Thrift

66 pointsby jamesgpearceover 11 years ago

4 comments

StefanKarpinskiover 11 years ago
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 未加载
friscoover 11 years ago
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.
klickverbotover 11 years ago
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.
jamesaguilarover 11 years ago
30k qps? That seems pretty low even on a per core basis.