Recently, we shared our story on moving our stack from Ruby to Go over the course of the last two years. This week, a few of us are attending Gophercon 2015 to bond with our fellow gophers. In this post you'll find a quick roundup with details on a few of the libraries and tools we've built in Go. Join us on Wednesday at 2:30 PM for our talk on rewriting Parse in Go!
- We use Inject, a dependency injection library, to build our dependency graph. We previously blogged about Inject here.
- We built a connection pooling proxy for MongoDB called Dvara, which also instruments counters and metrics around every DB operation. This has been battle tested against both the Ruby and Go Mongo drivers in production. Find out more about Dvara here.
- We built the library Grace to gracefully restart servers. Grace hands down the socket from the old process to the new, and lets the old process die off gracefully without dropping a single request.
- Stackerr wraps all our errors with a stack trace and helps us track down the root cause of exceptions.
- We use Muster to fire our requests in a batch based on time or queue size.
- Start-Stop is a library to start and stop components in the order of dependency. This helps us not write cumbersome start stop logic in each and every package.
- We also have several other libraries including httpcontrol, ensure, and more.
Check out our GitHub repo for other libraries. We hope you can use these in your very own Go projects!