* Lyft (of course)
* Spotify
* Stripe
* Square
* eBay
* Yelp
Plus the support from major cloud providers: Google, Microsoft, and Amazon.
[1] https://envoyconna18.sched.com/ [2] https://envoycon2019.sched.com/
https://thehftguy.com/2016/10/03/haproxy-vs-nginx-why-you-sh...
- Community
- Nginx served us well for almost a decade. But it didn’t adapt to current development best-practices
- Operationally Nginx was quite expensive to maintain
- C++
- Observability and monitoring
etc...
I've always looked at it (esp. with STL) as kind of a "Swiss-Army-Chainsaw" and you were going to shoot your eye out. Maybe that view is old and things are better - but I learned a while back that sending a young gun into a C++ application's code-base would lead to a world of pain)
Maybe that learning is no longer accurate? What do you think?
Platform wars are over-ish. We have the same compile targets. What they call "Undefined Behavior) is relegated to ... well ... platforms we are not supporting.
C is fast - simple - easy(ish) to learn, and easy to "fuzz" in testing.
I can't speak to LUA - but C++ looks like a mine-field (to me).
Why do you declare that C++ is "better"? (Seriously interested - I don't even know enough these days to have a debate. I just gave up on the C++ hell-hole years (decades?) ago, and maybe should have kept up)
I value yours.
You have different experiences than I do - so our conclusions will differ.
That said - I "feel" as if C++ is a dangerous serpent of a language. Maybe I need to spend 6 months re-acquainting myself in complex environments with more developers than just me, and re-evaluate that presumption on a medium-size project.
Thank you.
This has to do with nginx not having the required features (features blocked behind the paid edition or GRPC non existent), forcing to develop plugins in Lua to compensate (the only supported language) and Lua is too slow for this sort of stuff (processing Gbps of traffic in real time is no joke).
EDIT: BTW -- I am not going to argue with LUA throughput. I'm still not sure what the thinking was there (maybe time-to-prototype?) - but C plugins run faster than Apache's do. By, like, a lot. (And I like Apache! ...Having used it since 1996)
Overall our experience is that C++ code is smaller, simpler to write/read, and has a smaller chance of mistakes than equivalent logic written in C.
Of course many of this points are relevant only for relatively modern C++ (c++11/c++14 or newer), before that the cost/benefit ratio was much less clear.
In my case - C (as a language) had a smaller footprint, and if the targets were limited, it was easier to learn, to lint and to code-inspect.
Admittedly, this was mostly before C++14. I guess this might be a case of "once bitten, twice shy".
Thank you.
Of course, you can serve static assets using Envoy, and maybe even connect a fascgi app without very much hassle. But it's quite a bit less straightforward.