Architecture🛠️ 開発体験(DX) パフォーマンス・速度

Airbnb

Airbnb、既存のThrift/REST APIとGraphQLを両立させるデータ中心スキーマへ移行

REST / Thrift APIGraphQL(データ中心スキーマ)

サービス指向アーキテクチャの複雑さに対応するため、AirbnbはThrift IDLをコンパイルしてGraphQLスキーマを自動生成する仕組みを構築し、GraphQLとApollo導入で開発速度を向上させた。

何が起きたか

Airbnbは多数のサービスに分散したデータをクライアントが効率よく取得できるようにするため、既存のThrift IDLをコンパイルしてGraphQLスキーマへ変換する仕組みを構築し、そこからTypeScriptの型定義も自動生成した。単純なフィールド単位のスキーマではクライアントごとに重複したリクエストが発生する問題があったため、データ中心(data-centric)なスキーマ設計とデータハイドレーション層を組み合わせるアプローチを採用した。GraphQLとApolloクライアントの導入により、フロントエンドチームの開発速度が大きく向上したとAirbnbのエンジニアリングブログで報告されている。

2018-05-01
他の事例も見る