Google’s dl.google.com serves binary downloads for Chrome, Earth, the Android SDK, and thousands of other files. Originally written in C++ around 2007, the service outgrew its original design as its surrounding infrastructure and use cases evolved. On its last legs, it was rewritten in Go in 2012.
In this talk we discuss the problems with the original C++ server, such as blocking threads, callback spaghetti, and deployment issues, and how these issues were addressed in the Go rewrite.
The new download service is a great example of an idiomatic Go server. It uses Go’s interfaces to elegantly compose file system, caching, and serving layers, and Go’s powerful standard library to serve the actual HTTP traffic.
We also introduce groupcache, a new open source distributed caching library originally written for dl.google.com and now used by other projects inside and outside of Google. groupcache is a peer-to-peer caching client and server library featuring hot item replication and coordinated cache filling.
Brad Fitzpatrick has been writing Open Source software for over two-thirds of his life and is probably best known for LiveJournal, memcached, Gearman, and OpenID. Brad works on the Go language team at Google and has never been this excited about programming and how fun and easy it is to write good software.
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or email@example.com.
View a complete list of OSCON contacts