Live data from Hacker News

Proxygen, Facebook's C++ HTTP Framework

code.facebook.com

61–70 of 98 posts

Re: Proxygen, Facebook's C++ HTTP Framework

#61
post #60

Earlier quoted context omitted.

I'm guessing that at facebook scale a GC would be expensive.

Compared to google scale which can handle it just fine ? :)))

nope, golang can't handle google either, it would be to expensive for them too.

Re: Proxygen, Facebook's C++ HTTP Framework

#62

Earlier quoted context omitted.

Is that the inception of the project? I am more curious about the lineage. How was the decision made to go this route instead of throwing more instances at it?

The blog post goes into more detail, but Proxygen started with an effort to write a L7 reverse proxy that could deeply integrate into FB internal services. We pulled out a lot of the non-FB specific stuff into this open source release. Before that, we used hardware load balancers for this role, which was expensive.

That's interesting. I had been working something similar years ago. I eventually open sourced it, but discontinued work on it. Http://github.com/baus/swithflow

I'm surprised more systems don't take this approach of doing more work in L7 proxies.

Re: Proxygen, Facebook's C++ HTTP Framework

#63
post #48
post #41

Looks to me as facebook's answer to golang ? Building simple, standalone http services with good performances seems to me what those two projects (proxygen and golang) are really about. Now the question is, how much faster using C++ is, and how much safer and faster writing golang is...

I think Facebook is a lot into D, sounds a more appropriate, for lack of a better word, "replacement" for golang.

There are some D advocates, users, and enthusiasts (I fall into the last category) at Facebook, and a slowly increasing amount of D code, but the vast majority of infrastructure projects are done in C++, and most people are still choosing it for new projects.

Re: Proxygen, Facebook's C++ HTTP Framework

#64
post #2

Hey there, I work on Proxygen at Facebook. I'm happy to answer any questions you have about the project.

What are the security implications of running native code on a public facing service? How many RCEs has Proxygen had? Has it been audited for security? What is the testing procedure?

Re: Proxygen, Facebook's C++ HTTP Framework

#66
We used to do nginx + gunicorn for our rest services, it was not responding well beyond a point (for a given ec2 instance). We replaced that with nginx + lua (openresty module), we saw almost 10x increase in response times. Would it make sense for us to invest in something like this and hope to see a significant performance gain? Lowering response times is not a big deal but being able to get those same response times on a lower priced instance would definitely help. We have no real C++ skills in the team but we could learn or hire.

Re: Proxygen, Facebook's C++ HTTP Framework

#67
post #60

Earlier quoted context omitted.

Compared to google scale which can handle it just fine ? :)))

nope, golang can't handle google either, it would be to expensive for them too.

spoken with some authority?

https://talks.golang.org/2013/oscon-dl.slide#1

Re: Proxygen, Facebook's C++ HTTP Framework

#68
post #2

Hey there, I work on Proxygen at Facebook. I'm happy to answer any questions you have about the project.

Question for you and the general C++ community. I am a Java developer mostly but it looks like I'll be transitioning to a few C++ projects in the near future. Any good resources you can recommend for learning modern C++? Particularly anything you've used to get developers on your team similarly up to speed.

I've cruised through the Proxygen code base and there are definitely some head scratchers.

Re: Proxygen, Facebook's C++ HTTP Framework

#69
post #2

Hey there, I work on Proxygen at Facebook. I'm happy to answer any questions you have about the project.

Question for you and the general C++ community. I am a Java developer mostly but it looks like I'll be transitioning to a few C++ projects in the near future. Any good resources you can recommend for learning modern C++? Particularly anything you've used to get developers on your team similarly up to speed. I've cruised through the Proxygen code base and there are definitely some head scratchers.

This SO thread has a good overview of the books out there:

http://stackoverflow.com/questions/388242/the-definitive-c-b...

I'd recommend "C++ Primer" first, "Effective C++" second, and "The C++ Programming Language" as a reference. Other must haves are "Modern C++ Design", the other Scott Meyers books, and the Herb Sutter books.

Re: Proxygen, Facebook's C++ HTTP Framework

#70
post #67

Earlier quoted context omitted.

nope, golang can't handle google either, it would be to expensive for them too.

spoken with some authority? https://talks.golang.org/2013/oscon-dl.slide#1

That some google services were rewritten in golang doesn't really say much, in a video Rob Pike himself said that lots of services in google can't and shouldn't be rewritten in Go because of the GC, the video: http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Pan... - At 31:20 Andrei starts talking about the problem of the GC with the scale of Facebook, you can start watching there.
Post reply on HN