サーバーサイドエンジニア視点でLobiというサービスを紹介します

Lobiチームインフラ担当の長田です。

今年は弊社で運用しているLobiというサービスについて、 サーバーサイドエンジニアの視点から、月いちくらいのペースで紹介していきます。

今回は「Lobiとはなんぞや?」というところを書こうと思います。

サービスの概要

Lobiはゲームを中心としたコミュニティサービスです。

Lobi Chat & Game Community

2010年のサービス開始当初はナカマップという位置情報を絡めたチャットサービスでした。 2013年にスマホゲームに特化するとともにLobiという名前に改名し、様々な機能追加の末に今に至ります。

様々な機能とは・・・

  • グループチャット
  • スマホゲームのプレイ動画録画・投稿・閲覧(Rec SDK)
  • マルチプラットフォームなスコアランキング(Ranking SDK)
  • スマホアプリへのグループチャット機能提供(Chat SDK)
  • ゲームに特化したプロフィール
  • ゲームのレビュー投稿・閲覧
  • 募集機能(マルチプレイ、ギルド等)
  • 広告入稿・配信
  • etc.

裏側で使っているもの

  • インフラ
    • Amazon Web Service (AWS)
  • 言語
    • Perl
    • Go
    • Javascript
  • ミドルウェア
    • nginx (openresty)
    • HAProxy
    • MHA
  • データストア
    • MySQL
    • AWS ElastiCache (Redis)
    • AWS Redshift
    • memcached
    • mongodb
  • その他ツール
    • chef
    • consul
    • packer
    • fluentd
    • jenkins
    • stretcher

簡易年表

技術的なトピック

  • stretcherを用いたデプロイ
  • チャットのストリーミングAPI
  • MySQLのシャーディング(水平分割)
  • MySQLのフェイルオーバー
  • iOSとAndroidのPush通知
  • プレイ動画の録画・変換・配信
  • web.lobi.co(w/AngularJS)のSEO
  • fluentdとNorikraを用いたログ集約・解析
  • AWS CloudSearchを用いたユーザー・グループの検索
  • AWS EC2上でのAutoscaling

すでに記事になっているものもあります。

ここに挙がっていないトピックについて紹介することがあるかもしれませんし、 挙がっていても取り上げない場合もあるかもしれません。 その辺りはご容赦ください。


次回は「stretcherを用いたデプロイ」について紹介します。