ガジェット通信 GetNews

見たことのないものを見に行こう
  • 『アントマン&ワスプ』エヴァンジェリン・リリーインタビュー「7歳の息子がワスプになりきっているのをこっそり見てしまったの!」
  • 『斉木楠雄のΨ難』インタビュー 佐藤二朗「橋本環奈が高校にいたら可愛すぎて男子は正気を保てないでしょ」
  • 『パシフィック・リム:アップライジング』監督&ジョン・ボイエガに「ぼくのかんがえたさいきょうのかいじゅう」を見てもらった!
  • 『ブレードランナー 2049』“ジョイ”と“ラヴ”にインタビュー「SF映画は女子が観ちゃだめ? そんなわけないわ!」
  • 『ジュマンジ』でタフな美女戦士を熱演! カレン・ギランの好きなゲームは「メガドライブ『ソニック・ザ・ヘッジホッグ3』」
  • 不潔で下劣な男に挑んだ阿部サダヲ「珍しく自分の写真を撮ったほど、別人になりきれた」
  • 北野武からの出演オファーに「役者やってて良かった」 『アウトレイジ 最終章』池内博之インタビュー
  • 『スター・ウォーズ/最後のジェダイ』でカイロ・レンはどうなっちゃうの? アダム・ドライヴァーを直撃!
  • 『ブレードランナー 2049』ハリソン・フォードインタビュー「仕事は好きなんだ。役に立ちたい。チャレンジが好き」
  • 『ゴースト・イン・ザ・シェル』のバトーさんを直撃! 原作愛がハンパなくて『イノセンス』制作を懇願するレベル
  • 『マイティ・ソー バトルロイヤル』女戦士・ヴァルキリーを熱演! 声優・沢城みゆき「ロキ様ファンの方お友達になってください!」
  • 窪塚洋介が明かす未体験への挑戦と驚き 映画『沈黙-サイレンス-』でハリウッドデビューを飾る
  • 性別や年代によって楽しみ方が変わる映画『妻ふり』 榮倉奈々&安田顕インタビュー
  • 大泉洋『探偵はBARにいる』シリーズへの愛を語る「“好きなんだけど映画館には行かない”だと続かない」
  • 俳優・中村倫也インタビュー「女子の周りから固める恋愛作成は逆効果な気がします(笑)」
  • 北原里英が映画主演で後輩に見せる“道”「AKB48が夢の通過点では無くゴールになっているからこそ」

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

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

「地味だけど、面白い!」―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を入れて試していたり、その時々で適したものをチョイスしています。

久保田:いまデータベース選定をやり直すなら何にしたいと思います?

鶴原:うーん。クラウドではGCPのSpannerやAWSのAmazon Auroraなど、SQLベースで世界規模でスケールするものにいきたいなという気持ちはあるんですが、現在のオンプレの運用とは異なる部分が多いのでなかなか踏み切れないですね。

他のプロジェクトではCassandraやMongoDBを使っているところもあるんですけど、それぞれJavaやC++側でトラブルも起こるので、今のところ乗り換えるほどの魅力は感じていないです。

久保田:確かに、私もCよりはJVMの方でトラブルが起きた方がなんとかできそうな気がします。

JVM運用を支えるさまざまな施策と連携

久保田:JVMにはもともと不得意な処理ってあるじゃないですか。例えば画像処理で、大きいオブジェクトを作って一気にやろうとしてGCが走りそうになるとか。サーバ自体をリッチにするのが難しい場合、いろいろな対策をとりますよね。

画像処理の部分だけCに置き換えて実装したり、バッチ的に処理したり、処理ごとにサーバーを分けたり。あるいはGCをコントロールしてメンテナンス期間などを設けて定期的に再起動するような「運用でカバー」といった対策も取れる。

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