「バルス」を耐え抜け! 「あけおめ」に負けるな! mixi支える“ソーシャルな”技術力

mixi最大のコミュニケーションサービス「mixiボイス」。予測の付かないトラフィックを支えるのは、開発、運用、「たんぽぽ」チームが連携したソーシャルな技術力だ。

» 2010年11月24日 10時00分 公開
[PR/ITmedia]
PR

 「データベースの能力をスパーンと超える書き込みが来ても、落ちない作りにはしているつもりです」

 2100万人が利用するSNS「mixi」で、最も書き込みが多いのが、つぶやき機能「mixiボイス」。開発を担当するミクシィの技術者・井上洋平さんは、さらりとこう言う。

画像 井上さん

 例えば「天空の城ラピュタ」地上波テレビ放送時。パズーとシータが滅びの呪文「バルス」を唱えると、ネットには「バルス」の書き込みが殺到、この負荷に耐えきれず毎回のように落ちてしまうサービスもある中、mixiボイスは健在。バルスの連投に耐え切る。

 サッカーワールドカップで、日本代表チームが金星を挙げた瞬間。ワールド・ベースボール・クラシック(WBC)で日本が優勝した瞬間。大事件が報道された瞬間。予想も付かないタイミングで書き込み量は急増し、トラフィックが跳ね上がる。

 予測不能な“人の動き”に対応し、巨大なトラフィックを支え切る――その裏側を支えているのは、ミクシィらしい「ソーシャルな」技術力だ。

「ここまでやっているのは珍しいのではないか」

 ミクシィ社員の3分の1、100人ほどがエンジニアだ。企画会議にはエンジニアも参加しており、「ボイス」はエンジニア発の機能。08年に「インディーズ機能」として試験公開され(当時は「mixiエコー」という名称)、09年9月正式公開された。

画像 mixiボイス。150文字までのテキストを気軽に投稿でき、コメントや「イイネ!」を付けられる。今や日記を超えるmixi最大のコミュニケーションサービスだ

 試験公開時から反響は大きく、使い勝手などをユーザーにアンケートしたところ「数十万件もの回答が返ってきた」という。「当時のExcel(最大6万5000行)に収まらない行数」の反響は、数千万規模のユーザーをかかえるサービスならでは。意見は企画・開発チームでチェックし、ユーザーの声を反映して機能を 修正していった。

 正式公開に向けた開発を担当したのは、入社1年目のエンジニアほぼ1人。今年4月にも大規模改修を行い、コードを1から書き直したが、これも入社 2〜3年目のエンジニアほぼ1人に任せた。「ソースコードレベルでスキルを判断し、少し厳しめ、成長につながるものをアサインした」と、開発リーダーを務める井上さんは話す。

 重要な開発を新人に任せられるのは、エンジニア同士が連携する体制が整っているため。家電メーカーとポータルサイトでもエンジニア経験のある井上さんだが、「Web開発でここまでやっているのは珍しいのではないか」と思うほどの徹底したレビュー体制があるという。

「刺身の上にたんぽぽ乗せるような」開発を減らすために

画像

 ミクシィのレビューは、「プリレビュー」「DBレビュー」「コードレビュー」と3段階あり、WebアプリのコードだけでなくSQL文までレビューする。

 開発チームに加え、サーバ運用や「たんぽぽグループ」と呼ばれるチームもレビューに参加。mixiサービス全体を見通した視点でレビューしてもらえるため、高負荷に耐えるアプリを設計できるようになる。

 ちなみに「たんぽぽグループ」とは、「刺身工場で、ベルトコンベアから流れてくる刺身の上に“たんぽぽ”乗せるような簡単な仕事」を社内からなくすというミッションで生まれたチーム。社内外で尊敬を集める技術力の高いエンジニアが所属し、全システムを横断的にチェックしている。

画像

 例えばmixiボイスでは、「バルス」などの急激・大量なアクセスに対応するためにDBキューを活用してみてはと提案を受けたり、「mixi日記」の経験を生かした負荷分散アイデアを出してもらうなど、たんぽぽグループや運用チームの助力は大きい。

 「全アプリ開発のエンジニアが1つのソースコードを触っているので、コードを見る機会も見てもらえる機会も多い。エンジニアは成長でき、安心してサービスを出せます」。mixiでコードを書くメリットを、井上さんはこう話す。

「イイネ!」 IRCに社内Wikiには「いろんなBOTが住んでます」

 SNSの会社らしく、開発体制も「非常にソーシャル」だ。エンジニア同士はIRCや社内Wikiでつながり、リアルタイムに連携しながら動いている。本番に流れるソースコードはBOTが拾って自動でIRC上に上げるため、全エンジニアがキャッチできる状態にあるという。

 このほかにも、テストの実行結果を貼ってくれるBOTや天気予報を貼るBOT、夜になると「ブラインドを閉めて下さい」と教えてくれるBOTなど、実用的なものから遊び心あふれるものまで「いろいろなBOTが、IRCに住んでいます」。

 コーヒーが入った時、「コーヒーが出来ました!!(≧▽≦)」「べ、、べつにあんたに飲んでほしいなんて思って無いんだからねっ!!!」などと教えてくれる、「萌香」(もか)という名のコーヒーメーカー連携ツンデレBOTもいたが、「開発者と萌香の間に距離が出来てしまった(席的な意味で)ので」現在はお休み中だそうだ。

画像

 社内Wikiでの情報交換も活発だ。基本は業務連絡用や技術ドキュメントのためのものだが、共通ライブラリ実装の提案があったり、「こんなブックマークレットを作ってみた」と いった報告も。意義のある提案や面白いものには、コメント欄にテキストで「イイネ!」「イイネ!」と次々に打ち込まれるなど、ミクシィならではのコミュニケーションも。エンジニア陣はIRCやWiki、mixiボイスなどで、就業後や土日も交流しているという。

「あけおめ」に負けるな

 mixiボイスが次に高負荷となると予想されるのは、「あけおめ」のあいさつが殺到する2011年1月1日。ボイスは成長を続けており、あけおめの瞬間には過去最高の負荷がかかるかもしれない。

 「ボイスのシステムで、次にボトルネックとなる部分は予想が立っています」。井上さんは言う。

画像

 「そこは“あけおめ”までに改修しようと進めています。エンジニアとしては『絶対落ちない』と言い切ることはできませんが、MySQLの性能限界が来ても、落ちない作りにはしているつもりです」

 伸び続けるトラフィックに、mixiエンジニアは挑戦し続ける。1人きりではない。100人のエンジニアが支え合い、みんなで作っていく――“ソーシャルな”開発力が、mixiの裏側を支えている。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:株式会社ミクシィ
アイティメディア営業企画/制作:ITmedia ニュース編集部/掲載内容有効期限:2010年12月23日