体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

「地味だけど、面白い!」―LINE・NTTエンジニアが語る、日本を支える大規模JVM運用の舞台裏

大規模なJVM運用の共通点

――お互い間接的にご存知だったそうですが、初対面ということでまずは自己紹介からお願いします。

鶴原(LINE):私はLINEアプリのメッセンジャー機能のバックエンドの、アプリケーションサーバの開発をしています。LINEのサーバーサイドはJavaで書かれていて、多くの部分でHBase(※)を使用しています。私はHBaseの運用や、HBase周りのアプリケーション開発担当です。

※HBase…Apache HBase。JVM上で動作するNoSQLデータベース。

LINE株式会社 開発1室 鶴原 翔夢氏

久保田(NTT):私はNTTグループ会社向けにOSS製品の技術サポートをする「OSSセンタ」という組織で、OpenJDK、JVM、Java中心にサポートする部隊のサポートリーダーを務めています。運用自体はしていませんが、困りごとを解決したり、現地に行って解析したり、パフォーマンスチューニングをしたりと。

トラブルシューティングのための情報収集を行う「HeapStats」というOSSのJVM解析支援ツールの開発にも携わっています。

日本電信電話株式会社 OSSセンタ 久保田 祐史氏

鶴原:全国のNTTグループ全てのサポートをされているんですか?

久保田:対象は全てではあるのですが、グループ会社の中でも主にSIerを中心にサポートを提供していますので、想像されているよりは少ないですね。なので、サポート対象はそれほど多くないです。

サポートも一度手を入れると現地できちんとノウハウ化されるので、問い合わせ自体減ってきました。5年前のサポートはすごく忙しかったけど、最近は割と余裕があるなあという感じがあります。

鶴原:トラブルを解決しつくしたってことですか、すごいですね(笑)。問い合わせ内容はどういうものが多かったんですか?

久保田:社内でのサポートに加えて社外でもJavaの困りごとを伺う機会が多いんですが、やはりGC(Garbage Collection)周りの相談がほとんどです。GCは初歩的な部分がわからないと、何をしたらいいか全然わからないところなんですよね。

鶴原:HBaseでもGC周りのトラブルは多いです。HBaseはデータベースなので、そこでStop The Worldが起きてしまうとアプリケーションの性能に大きく影響を与えてしまうんですよね。最近はHBaseのアップグレードやG1 GCへの切り替えでトラブルは減ってきましたが、障害が起きてしまったこともありました。

その時々で適した技術をチョイスする

久保田:そもそもなぜデータベースにHBaseを選択されたんですか?

鶴原:LINEアプリの立ち上げ当初はMySQLとRedisなどで作られていたんですが、ある日香港から大量のユーザ登録があって、そのときにMySQLの書き込みがボトルネックになりました。これをスケールさせないといけないということで、当時MongoDBやCassandra、HBaseなどでベンチマークをとったり使用感を試したりして、HBaseが我々の規模のスケールに対して有効そうだということで採用されました。

とはいっても時代によっていろいろな技術の変遷があるので、絶対にHBase、というわけではないです。いま一部ではCassandraを入れて試していたり、その時々で適したものをチョイスしています。

1 2 3 4次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。
GetNews girl / GetNews boy

オスカー2018年晴れ着撮影会