Ask HN: How can one learn to build API gateways?
I want to know and be able to build what cloudfare did with nginx.
Figure things like: why request buildups happens on nginx whereas haproxy works fine.
And in the end architect the distriuted to localize failures and not affect rest of the system.
Thank you,
15 comments
[ 3.7 ms ] story [ 46.0 ms ] threadThere are also academic-style papers from Amazon's team on creating high-reliability systems and such. These are worth a read too.
The technology that we use to implement APIs changes but the fundamental reasoning doesn't. A book about building APIs doesn't really need to talk about specific technologies. Personally speaking, I think the principles that drive the design of APIs I build today are the same as the principles I was using 20 years ago; plan your data structures, include extensible structures for future unknown things, don't make anything trivially enumerable, use HTTP verbs consistently, and document the hell out of everything with working examples that have automated tests so you can easily fix them when the API changes. If you do all that you should end up with a nice API.
[0] - http://www.vinaysahni.com/best-practices-for-a-pragmatic-res...
Your use cases, edge cases, opportunities and pitfalls will be different from mine. Write them up, share them online (including here), so others more like you can learn when doing paper research, much like the research you've done now.
Realise that next time you might need to do it differently. Name the reasons why those needs differ. Write that up. Share.
It's still a youngish field that we're still trying to get right. If the existing books and blogs aren't doing it for you, it's time to figure out why and contribute back.
http://www.catonmat.net/http-proxy-in-nodejs/
https://github.com/nodejitsu/node-http-proxy