A colorful feather up Rails’ cap is on the ground now. Twitter has decided to go away from RoR in favor of Java, this time for their entire search stack. Earlier in 2008-09, they decided to move their message queue back-end from ruby to Scala (a Java Platform) and now it is the time for their front-end to move to Java as well.
They have built a scalable platform called Blender that uses Java NIO based server (Netty) to be efficient in the face of heavy incoming traffic, replaced MySQL with a Java based Lucene search engine, created an engine that parallelizes execution of multiple backend services with dependency management and more. With this setup there is a 3X drop in search latencies and can scale to 10X more requests per machine.
Wow, that is quite an achievement. Could this mean that Java is a better platform than Rails for high scalability needs? Even if that is the case, for simpler scenarios, the beauty of RoR out-weighs Java’s performance.
They say that this change will enable them to rapidly iterate on search features in the coming months. That along with the news that Twitter has hired 25 more employees kinda tells that Java’s code base is practically more maintainable than equivalent Ruby code – at least when the code base is huge and the team size is large. Or that could mean that this time they really put a lot of thought into designing a maintainable system than when they started out. But for smaller team size and code base, RoR is still an unbeaten champion.
分享到:
相关推荐
Your task is to write a program to calculate the minimum number of moves移动次数 needed for a knight to reach one point from another, so that you have the chance to be faster than Somurolov. ...
In this book, User Friendly cartoon characters offer commentary and snide side comments, as the book moves quickly from Hello World into practical techniques. Each one is illustrated with a hands-on ...
### 北大ACM 1915 Knight Moves C++语言源代码解析 #### 背景介绍 在本题目中,“北大 ACM JudgeOnline poj1915 Knight Moves”要求解决的是一个经典的骑士行走问题。具体来说,题目背景提到了一位自称无人能及的...
Design a 2x16 LCD moving message display. If RA0 = 0 then a message (for example, “TESTING LCD” moves from left to right, otherwise (RA0=1) this message moves from right to left.
The title “java 一手画方一手画圆 多线程” translates to "Java: Drawing Squares and Circles with Multi-Threading." This indicates that the program is designed to draw shapes using two separate threads...
#### 标题解析:“Making the Right Moves” 此书名为《Making the Right Moves》(作出正确的决策),旨在为科研工作者提供一套全面而实用的管理指南。它不仅仅局限于学术研究本身,更强调在学术生涯中的各个层面...
Then it moves on to using different patterns to abstract the persistence layer into your applications, starting with the flexible Google JSON library to the Hibernate OGM framework and finally ...
The book starts by covering the basic syntax required to get up and running with web development, and then moves onto advanced concepts and examples. Each section takes the reader along in an ...
KEY POINTS Appeals both to Python novices and programmers migrating from earlier versions who want to quickly grasp the new features of Python 3 Teaches best practices for objected oriented design and...
Groovy, the brand-new language for the Java platform, brings to Java many of the features that have made Ruby popular. Groovy in Action is a comprehensive guide to Groovy programming, introducing Java...
The first section of Perl to Python Programming will show you the basic layout and approach of the two languages whilst the second section moves on to the specific differences of using Python data ...
此文件汉诺塔的java详细程序源代码. String getBoardStatus() { String status = null ; if (pegTop[PEGS-1]==(discs - 1)) { if (moveCount==minMoves) status = "Congratulations!" ; else status = "You ...
【北大POJ2243Knight Moves】是一个典型的图论问题,主要涉及到国际象棋中的马(Knight)的移动规则以及最短路径的计算。在国际象棋中,马每一步可以向前后各跳两格,然后横向或纵向跳一格,形成一个“L”形的移动...
By utilizing Java technology, this system adheres to the B/S (Browser/Server) architecture, which allows users to access the system through a web browser, eliminating the need for client-side ...
The bullet moves in straight line, and can only attack the enemy at front of it while the missile can target an enemy, track it and destroy it. After destroying an enemy aircraft the player can ...
OpenCV, the computer vision library, has always been one ...Finally, Chapter 4 moves to video analysis, with shape finding, transformations, and various techniques to analyze real-time streams with ease.