`
找不着北
  • 浏览: 315460 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Twitter从Rails迁移到了Java

阅读更多

Rail那插满五颜六色鲜艳羽毛的帽子现在跌落到了地上。Twitter决定放弃Ruby on Rails,改用Java ,这次是包括他们的整个搜索库。早在2008年9月 ,他们就决定了把消息队列的后端程序从ruby迁移到Scala(一种Java虚拟机上的语言),而现在连同它们的前端也要迁移到Java。

他们开发了一个可扩展的叫做Blender的平台,使用的是依赖Java NIO的服务器(Netty),以此来克服目前的繁重的接入流量,MyQSL被换成了Java上的Lucene搜索引擎,做出来的引擎能并行的完成多个后台任务,相互独立管理,互不依赖。通过这种改造,搜索延迟降低了3倍,每台机器能接受比以前10倍多的请求。

不错,一个很大的成果。这是否意味着Java是一个比Rails更能胜任高扩展性需求的平台?即使真是这样,对于小规模的应用来说,Ruby on Rails的优雅比Java的性能更吸引人。

他们说这次改动使他们能够适应未来几个月搜索功能快速的迭代修改。伴随这个消息的事情还有Twitter扩招了25跟新员工 ,这似乎也在表明对于相同的程序,Java比Ruby的可维护性更高——至少是在程序量巨大和团队规模很大的时候。这似乎也能表明跟他们最初时候着眼的问题相比,他们现在关心的是系统的可维修性设计。但对于小开发团队和小规模程序来说,Ruby on Rails仍然是不二选择。

:)

31
22
分享到:
评论
9 楼 gaoshui87 2011-05-14  
Lucene搜索引擎还不是很了解
8 楼 skandhas 2011-04-28  
DOCDOC 写道
skandhas 写道
Rails在大规模程序中也是没问题的。
只是在超级大的类似twitter中,性能问题才凸显出来。
以前的twitter用rails时,不也是跑的好好的。
试问:有几个规模如twitter如此之大的应用?

Twitter常宕机的..哦,对了,你能上Twitter么?呵呵~~~


如Twitter规模的其他几个著名网站,都宕过机,而且有的一宕就好几天。而且宕机原因也都是不一样的。
上twitter,爬墙就可以。
7 楼 vcok 2011-04-27  
不管换成什么,在兲朝还不都变成了浮云?
6 楼 liuqiang 2011-04-27  
richyzhang 写道
MyQSL被换成了Java上的Lucene搜索引擎

这话是撒意思

mysql本身也带有搜索引擎模块
5 楼 DOCDOC 2011-04-26  
skandhas 写道
Rails在大规模程序中也是没问题的。
只是在超级大的类似twitter中,性能问题才凸显出来。
以前的twitter用rails时,不也是跑的好好的。
试问:有几个规模如twitter如此之大的应用?

Twitter常宕机的..哦,对了,你能上Twitter么?呵呵~~~
4 楼 skandhas 2011-04-26  
Rails在大规模程序中也是没问题的。
只是在超级大的类似twitter中,性能问题才凸显出来。
以前的twitter用rails时,不也是跑的好好的。
试问:有几个规模如twitter如此之大的应用?
3 楼 hyneng 2011-04-26  
richyzhang 写道
MyQSL被换成了Java上的Lucene搜索引擎

这话是撒意思

我也想知道
2 楼 redhat 2011-04-25  
默默中,感谢Sun公司,没有它,就不会又现在的Java这么流行,框架这么多,以至于大型应用都会考虑java。
1 楼 richyzhang 2011-04-25  
MyQSL被换成了Java上的Lucene搜索引擎

这话是撒意思

相关推荐

    Pragmatic.Bookshelf.Rails.for.Java.Developers.Feb.2007

    1. **新思想的引入**:Java开发者可以从Rails中学到许多新的设计思想和技术,这些思想可以应用到Java项目中。 2. **高效开发**:Rails的设计使得开发速度更快,这有助于提高生产力。 3. **代码简洁性**:Rails强调...

    Rails & Twitter Bootstrap

    标题 "Rails & Twitter Bootstrap" 暗示了这个主题主要关注的是如何在Ruby on Rails(简称Rails)框架中集成和使用Twitter Bootstrap库来构建响应式、美观的Web应用界面。Twitter Bootstrap是一个流行的前端开发框架...

    twitter-bootstrap-rails, 用于 Rails 5 4.x 资产管道的Twitter Bootstrap.zip

    twitter-bootstrap-rails, 用于 Rails 5 4.x 资产管道的Twitter Bootstrap 用于 Rails 5和 Rails 4资产管道的 Twitter BootstrapBootstrap 是 Twitter的工具包,旨在开发网络应用程序和站点的kickstart 。...

    jRuby On Rails WEB2.0

    《jRuby on Rails WEB2.0》:将Ruby on Rails融入Java平台的实践指南 《jRuby on Rails WEB2.0》是一部由Ola Bini撰写的书籍,深入探讨了如何将Ruby on Rails这一敏捷开源框架与Java平台相结合,以构建高效、灵活的...

    JRuby和Rails-让Ruby语言融入于Java项目.rar

    这本书旨在帮助开发者理解和实践如何将Ruby on Rails的灵活性和生产力引入到Java企业级开发中,从而提升软件开发效率。 JRuby是Ruby编程语言的一个实现,它是用Java语言编写的,因此可以无缝地与Java平台交互。...

    twitter-clone, 一种基于 Ruby on Rails的Twitter 开源克隆.zip

    twitter-clone, 一种基于 Ruby on Rails的Twitter 开源克隆 twitter克隆使用 Ruby on Rails http://twitter-clone-rails.herokuapp.com/的Twitter的开源克隆。正在启动git clone https://github.co

    基于java的开发源码-Rails3消息队列系统 Sidekiq.zip

    基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip ...

    巧妙规避Java与Ruby语言迁移过程中的风险

    在IT行业中,语言迁移是一个常见的现象,特别是在软件开发领域,开发者可能会从一种编程语言迁移到另一种,例如从Java转向Ruby。然而,这种迁移过程往往伴随着风险。本文主要探讨了Java和Ruby这两种语言在迁移过程中...

    java基础之rails命令大全.pdf

    ### Java基础之Rails命令大全知识点解析 #### 一、Rails 命令概述 Rails 是一个用于 Web 开发的框架,它基于 Ruby 语言。Rails 遵循 MVC(Model-View-Controller)架构模式,使得 Web 应用程序的开发更加高效、简洁...

    Ruby on Rails入门例子

    - **路由(Routes)**:Rails的路由系统将URL映射到特定的控制器动作,定义了应用的导航结构。在`config/routes.rb`文件中配置路由规则。 - **生成器(Generators)**:Rails提供了强大的生成器工具,可以自动生成...

    Rails项目源代码

    Rails的路由系统将URL映射到控制器的行动上,如`/sign_up`可能对应`users#new`,用于创建新用户。`config/routes.rb`文件定义了所有路由规则,包括资源路由、命名路由和自定义路由。 6. **视图模板**: 视图使用...

    rails指南 中文版

    11. **Rails Generators**:Rails的生成器可以帮助快速创建新的控制器、模型、迁移等,大大提高了开发效率。 12. **Migrations**:Rails的迁移机制允许开发者通过Ruby代码来管理数据库结构的变化,使得数据库版本...

    migration_builder:用于构建Rails迁移的交互式命令行工具

    目标是使Migration Builder能够生成95%的常见迁移类型,而无需使用Rails迁移语法。 注意:Migration Builder目前处于开发的极端阶段,因此请相应设置您的期望。 用法 要启动“迁移构建器”提示,请运行: $ ...

    Rails相关电子书汇总二

    标题 "Rails相关电子书汇总二" 提供的信息表明,这个压缩包主要包含了关于Rails框架的电子书籍资源,尤其是针对Java开发者。...对于想要拓宽技能树或考虑迁移到Rails平台的Java开发者来说,这是一份非常有价值的资源。

    基于Java的Rails3消息队列系统 Sidekiq.zip

    在Java端,我们需要创建类似的工作模型来处理从Rails应用推送过来的任务。 3. **序列化与反序列化**:Ruby和Java的数据结构不同,因此在任务的序列化和反序列化过程中,需要确保数据能在两种语言之间正确转换。 4....

    Rails3常用命令行命令

    此外,Rails的迁移(Migrations)系统允许你对数据库结构进行修改,如创建新表: ```bash rake db:create # 创建数据库 rake db:migrate # 应用迁移文件,生成对应的数据库表 ``` Rails的scaffold命令是一个强大的...

    Rails101_by_rails4.0

    为了确保读者能够通过实践加深理解,书中还安排了一系列练习作业,从最基础的“Hello World”开始,逐步过渡到更复杂的概念,如Rails的Routing(路由)机制。路由机制是Web应用中一个非常核心的概念,它定义了不同的...

    Ruby+for+Rails

    `rails generate migration AddColumnToBooks column:type`会生成一个新的迁移文件,然后通过`rails db:migrate`执行迁移,更新数据库。 7. **路由(Routing)** Rails的路由系统将URL映射到控制器的动作上,定义...

Global site tag (gtag.js) - Google Analytics