• Tumblr’s Finagle Redis Implementation

    Tumblr uses redis as a cache/store for a number of our internal applications. Some of the things that depend on redis include:

    • dashboard notifications (via staircar)
    • Tiny URL’s (via gob)
    • gearman persistent storage (via george)
    • note counts (also via staircar, coming soon)
    • dashboard data (coming soon via ira)

    Over the past six months we’ve started shifting internal services from being C/libevent based to being Scala/Finagle based. Finagle is a wonderful little library for building asynchronous RPC servers and clients. We’ve built a number of services (besides the ones above) with it, some of our usage I talked about here.

    Back in October we created a native redis implementation for finagle, and as of yesterday Marius (one of the finagle leads at Twitter) had pulled it into master. Although I’m sure this will take a slightly different shape over the coming months as Twitter engineers have a chance to work with it, I’m proud to have helped shape a lot of that code along with Bennett, Dallas and Wiktor.

    If you’re passionate about massively scalable services like this, we’re hiring.