タクシーアプリ『GO』の機械学習基盤のアーキテクチャ
アーキテクチャの工夫ポイント
タクシーアプリ『GO』は、時間帯や天候によって大きくトラフィックが変動するサービスです。
そのため、タクシーアプリ『GO』の機械学習基盤では、ユーザーの需要量に大きな変動をもたらす天候や交通情報などのリアルタイムデータを活用するために、FeatureStore基盤を整備しています。上図の「共有Redis」がその役割を担っています。
他のマイクロサービスから直近のリアルタイムデータを継続的に収集し、FeatureStoreに蓄積します。これにより、常に最新のデータに基づいて推論が可能となっています。
また、過去の統計値とリアルタイムデータを組み合わせることで、中長期のトレンドと短期のトレンドの両方に追従できる予測モデルを構築しています。
現在の課題と今後の改善予定
現在、複数のサービスが共通のRedisを参照しているため、単一障害点となっており、マイクロサービスの原則に反しています。Redisがダウンした場合、全てのサービスに影響が及ぶリスクがあります。
この課題を解決するために、Redisを個別のマイクロサービスとして分離して疎結合にし、フォールバック処理を加えることで、他のサービスへの影響を最小限に抑える予定です。
また、Redisの冗長化やフェイルオーバー構成の強化も検討しています。
◆執筆:GO株式会社 開発本部 AI技術開発部 データプラットフォームグループ 鈴木隆史
【サービス公式サイト】
https://go.goinc.jp/
アーキテクチャを構成するツール
会社情報
GO株式会社
従業員規模 501名〜1,000名
エンジニア組織規模 101名〜300名
当社は「移動で人を幸せに。」をミッションに、これまでタクシーアプリ『GO』を中心に展開し、モビリティ産業をアップデートしてきました。しかし、私たちが目指しているものは大きな進化です。モビリティだけではなく、人々の移動に関わるものを軸に社会をもっと良いものにしていきたいと考え、事業展開しています。