パスワードを忘れた? アカウント作成
82312 story
インターネット

Twitter、Ruby on RailsからScalaへ 31

ストーリー by reo
路線変更 部門より

ある Anonymous Coward 曰く、

Twitter は Ruby on Rails で構築されたそのインフラを徐々に Scala に置き換えているそうだ (Technology Review の記事, 本家 /. 記事) 。

Twitter ではフロントエンド、バックエンド共に Ruby on Rails が使われていたが、最近では大量のメッセージを処理できず「Fail Whale」出現の原因となったりしていた。このため Twitter の開発チームは代替言語として Scala を採用、少しずつバックエンドやインフラを Scala に置き換えているそうだ。スイス連邦工科大学ローザンヌ校の Martin Odersky 氏によって開発された比較的新しいプログラミング言語である Scala は並列プロセスの処理に長けている点が Twitter に向いており、また言語としてのフレキシビリティも開発にとっては魅力とのこと。短所としては、機能も多く、シンタックスも見慣れた感じでは無いため習得が簡単ではないことと、新しい言語であるため実績がまだ少ないことだという。それでもTwitterでは多くのテストケースを成功させており、Scala の方がメリットが多いと考えているようだ。

開発チームはフロントエンドは Ruby on Rails のまま、年内には API リクエストの一連の処理を Scala で行えるようにしたいとしている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Erlangは? (スコア:2, 興味深い)

    by MagicAcademy (34694) on 2009年04月10日 15時29分 (#1546965)
    (古い記事です)twitterブームの陰で注目を集める“Erlang” - @IT
    http://www.atmarkit.co.jp/news/200704/27/erlang.html

    twitterのコアはErlangらしいので、関数型言語を採用するならErlangが自然なのに何故Scalaなのだろう、というのが疑問です。
    両言語にそれほど知悉しているわけでもないのでアレですが、Scalaに機能優位があったりするのでしょうか。
    識者の意見を伺いたいです。
    • Re:Erlangは? (スコア:3, 興味深い)

      by user003 (37747) on 2009年04月10日 17時32分 (#1547071)
      http://gihyo.jp/dev/serial/01/alpha-geek/0029
      の記事に twitter を作った Evan Williams とブロガーの小飼弾との対談が書かれています。

      > 弾:「Erlangを使っているって聞いたけど。」
      > Evan:「Erlang?ハア?」
      > 弾:「Erlang言語をメッセージングサーバに使っているって聞きましたが、本当?」
      > Evan:「ああ、そのErlang。ノー。Rails以外のサーバはあるけど、すべてRubyベース。」
      > 弾:「全部?」
      > Evan:「今は全部・・・だと思う。将来はともかく、現在は。」

      う~ん、本人もtwitterの中身についてよくわかっていないらしいから、
      どうもErlangが実際に使われているのかいないのかわかりませんね。
      そもそもErlangを使っているなんてウワサはどこから出てきたんだろう?
      親コメント
      • by Anonymous Coward

        >ああ、そのErlang。

        弾氏も日本人の例に漏れず
        英語(かな)の発音がよろしくなかったのかな…

        #しくみ本は結構好きなのでAC

    • by Anonymous Coward on 2009年04月10日 15時39分 (#1546975)
      面白いのをいろいろ試したかったんだよ。
      親コメント
      • by Anonymous Coward

        意外とアタリじゃないかという気がするんだが

      • by Anonymous Coward

        そんな理由で開発言語を選べるのが本当に心の底からうらやましいです。
        日本ではありえませんね。

        • by Anonymous Coward
          > 日本ではありえませんね。

          日本のすみずみまで知り尽くしているACの存在がある限り、twitter何するものぞ
          何するものぞ
        • by Anonymous Coward

          >日本ではありえませんね。

          そういう理由で言語を選べる一部上場企業、少なくとも一社は知ってるな
          日本でも意外とあるんじゃない

        • by Anonymous Coward

          日本の真ん中にいるナニな大手SIerでは有りえない、というなら100%賛同。

          俺やキミがそれ以外の良好な職場にめぐり合えていない、ってのも100%賛同orz

          #頼む、開発環境をもーちょっと自由にしてくれ。あとはなーーんにもしないから…なのでAC

          • by Anonymous Coward
            給料もいらないのか!?

            それなら、是非、ウチに!
    • Re:Erlangは? (スコア:2, 興味深い)

      by Lizy (19775) on 2009年04月10日 18時13分 (#1547099)

      Erlangについて少しだけ触れている記事がありました。

      http://highscalability.com/scaling-twitter-making-twitter-10000-percen... [highscalability.com]

      Tried Erlang. Problem: How do you get a broken server running at Sunday Monday with 20,000 users waiting? The developer didn't know. Not a lot of documentation. So it violates the use what you know rule.

      詳細は分かりませんが、試しに使ってみたけど、ドキュメントが少なくてサーバを安定稼働させるところまで行かなかった……というところでしょうか。

      親コメント
    • by Anonymous Coward
      動的型付けには懲りたんだよ
      • Re:Erlangは? (スコア:1, 興味深い)

        by Anonymous Coward on 2009年04月10日 16時00分 (#1546996)
        要は適材適所ってことなんだけど、Lightweight LanguageブームはLLが万能であるがごとく錯覚させてしまった弊害はあるわな。
        親コメント
      • by kmr2045 (39200) on 2009年11月03日 8時51分 (#1664741) ホームページ
        ScalaはErlangに比べ、はるかに書きやすいと感じる人が多いだろうし、静的型付けだからねぇ。 Scalaは地味に伸び続けると思うよ。 ※最強ハッカーjbonerのakkaが有名になれば、twitterのようにミドルウェアにScalaを採用する事例は増えるかな。 cf. http://github.com/jboner/akka [github.com]
        親コメント
    • by Anonymous Coward

      昔はejabberdだったらしいですが、途中でOpenFireに乗り換えてますよ。
      c.f. TwitterがOpenFire(Javaで書かれたJabber Server)を採用 [s21g.com]

      別枝でインタビューが云々あったけど、twitter自身はErlangを使わなかった(単なるejabberdのユーザだった)から頓珍漢なやり取りになったのではないかと推測。

    • Facebookチャットアーキテクチャー
      http://www.infoq.com/jp/news/2008/05/facebookchatarchitecture [infoq.com]

  • Technology Reviewの記事、4/1のものですが、大丈夫ですよね?

  • by Anonymous Coward on 2009年04月11日 1時57分 (#1547317)
    自作メッセージキューの実装が問題だそうです。 Unlimited Novelty: Twitter: blaming Ruby for their mistakes? [unlimitednovelty.com]
    • by Anonymous Coward on 2009年04月11日 2時31分 (#1547323)

      「Unlimited Novelty: Twitter: blaming Ruby for their mistakes?」を読むといろいろ参考になります。
      Scalaへの移行のロジックは以下のようです。

      RubyのGCがたこで(mark-sweep方)、ゆっくりとメモリーがリークする。GCとしては、JVMが優秀。
      JVM上のJrubyは標準の環境よりパフォーマンスがすぐれているが、JVM上で動くScalaの方がさらにパフォーマンスがよい。

      親コメント
      • by Anonymous Coward

        Ruby1.9もダメなんだろうか?

        #Railsが動くかどうかは知らん。

  • by Anonymous Coward on 2009年04月10日 14時41分 (#1546927)

    Ever17とNever7の広告が表示されるんだけどなんの言葉に反応してるの?

    • by Anonymous Coward

      doubleclick.netのトラッキングcookieを持って行ってる見たいなので、
      それっぽい嗜好のサイトを回ってたら出るんじゃないんですかね?
      よく知らないけど。

      # オフトピなので沈めちゃってください

    • by Anonymous Coward
      俺なんか会社で見ててエロマンガの広告が出てあせった。
      たぶん、その人が過去に見た商品に関連するものを出している。
    • by Anonymous Coward

      Never Ever

      「そんなことはない、いままでもこれからも」みたいな強い否定の意味で用いられます。

      # ん?

  • by Anonymous Coward on 2009年04月10日 14時44分 (#1546932)
    Scalaの時代キタワァ.*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・*!!!!!☆
  • by Anonymous Coward on 2009年04月12日 7時50分 (#1547678)
    実用性の高そうな言語だと思いますし、個人的にはプレーンなJavaよりもScalaやJavaFX Scriptを使っていきたいと思いますが、
    なんかごちゃごちゃした印象をぬぐいきれませんね。

    アクターとオブジェクト、メッセージとメソッド、パターンマッチとポリモーフィズムといった同根のよく似た概念が混在していて、あまり美しいとは…
    • by Anonymous Coward

      関数型とOOP型とは
      ネタがカブるとか相容れないとか色々相性が悪いからねえ…

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...