Twitter gives up Ruby for Java
Written by Alex Denham   
Friday, 15 April 2011

Twitter has now completed its move away from Ruby to Java, started back in 2008 when it moved it message queue to Scala. This week it has ditched Ruby-on-Rails and adopted a custom Java Server called Blender.

If you think Twitter has been a bit faster on searches this week, the development team at the company says it’s because of a change from Ruby-on-Rails to a custom Java server called Blender which has completed its move away from Ruby to Java. This move seems to have made less of a stir than the one caused back in 2008 when Twitter moved its message queue from Ruby to Scala, saying Ruby wasn’t reliable enough.

java-logo-2

 

Now the team is sticking the boot into Ruby still further, saying on its engineering blog that the move away from Ruby-on-Rails has produced a 3x drop in search latencies and will enable the team to rapidly build more search features in the coming months.

The blog describes Blender as a Thrift and HTTP service built on Netty, a highly-scalable NIO client server library written in Java that enables the development of a variety of protocol servers and clients quickly and easily, and estimates that using it will give Twitter the capacity to serve ten times the number of requests per machine.

The Twitter story isn’t necessarily an indication of straightforward benefits, as some of the problems seem to have stemmed from the way the system was planned and coded. The Ruby-on-Rails front-end servers ran a fixed number of single-threaded rails worker processes, each of which parsed queries, queried index servers synchronously, and aggregated and rendered results. The synchronous request processing used the CPUs inefficiently, and the amount of Ruby code made it hard to improve the search engine. The replacement Blender system, by contrast, has a fully asynchronous aggregation service and aggregates results from back-end services.

You can read more details of the new system on the Twitter engineering blog

 

Banner


Udacity's New Discovering Ethical AI Course
12/04/2024

Udacity has just launched an hour-long course on Ethical AI. Intended for a wide audience across many industries, it introduces to basic concepts and terms needed to step into the world of Ethica [ ... ]



Actionforge Releases GitHub Actions VSCode Extension
09/04/2024

Actionforge has released the beta of its GitHub Actions tool as a VS Code extension. The extension consists of a suite of tools making up a visual node system for building and managing GitHub Actions  [ ... ]


More News

Last Updated ( Friday, 15 April 2011 )