CyberAgentが大規模オンラインイベントにて配信用チャット機能をMomento Topicsで実現

Hiroki Konishi

分野: 配信サービス, チャット機能, Pub/Sub, 高負荷, サーバレスアーキテクチャ

ユースケース: Momento Topics

株式会社サイバーエージェントは、メディア事業、インターネット広告事業、ゲーム事業、投資育成事業を主としています。

どうしてキャッシュ/トピックスが必要だったのか

今回は、CADC(CyberAgent Developer Conference)というエンジニア・クリエイターイベントのコメント欄として利用させていただきました。

採用理由、期待していたこととしては、オンライン配信側で視聴している方からいただいたコメントをクライアントへ高速に伝播することと、サーバーレス・フルマネージドであることにあります。

実際使用してみて思ったことと、期待通りだったこととは

使用してみて、素晴らしいサービスだと実感しました。キャッシュとトピックスを用いたコメント欄の実装はほぼ1日で作ることができました。その他にもアクセス権限の管理も機能を追加いただき、管理者と一般ユーザーで区別して安全に使用することができました。

Momento Topicsを使用した全体のアーキテクチャ

  • コメント機能をキャッシュを用いたアーキテクチャで構成しました。
  • Pub/Sub含め、Momento Cacheは非常に高速で使い勝手が良かったです。
  • フロントエンドの実装面でもSDKを用いることで簡単に実現することができました。下記はコメントをMomentoとやりとりする部分のコード例です。

上記のコードにより実現した動きは下図の通りです。非常に高速です!

本番デプロイまでにかかった時間

コードサンプルにて動作確認に1日程度、本番実装に1日程度です。 

Momentoとの将来

  • キャッシュのクラスターがフルサーバーレスで使えるとなると、開発者にとっては選択の一番手になると考えています。キャッシュの周りで利用できるエコシステムがより使い勝手よくなってくると更に魅力的になると思います。
  • 例えば、今回利用させていただいたPub/Subトピックにもそうですが、細かな権限や認可の管理、キャッシュからのデータ永続化インテグレーション等が、今回更に望んだ部分です。

Momento Cacheでチャットアプリケーションのコスト削減とパフォーマンス向上を実現しましょう。今すぐサインアップしてお試しください。

Hiroki Konishi

株式会社サイバーエージェント にてプロダクト開発をしています。
AWSのビルディングブロックの思想に魅了されたエンジニアです。
マイクロサービス・サーバーレスアーキテクチャをAWSの各サービスを用いて設計・実現することを繰り返してきました。
JAWS-UG 関西の運営メンバーです。