GitBookが3万サイトを300ms以下で更新する仕組み
AIトラフィックへの対応
詳細を読む
ドキュメントプラットフォームのGitBookは、Vercel上の単一デプロイメントで3万件の技術ドキュメントサイトをホストし、月間1億2000万ページビューを配信しています。n8n、Nvidia、Zoomなどの企業が同プラットフォームを利用しており、ドキュメントの即時更新が重要な課題となっていました。
Vercel移行前は、編集者がマージ後にサイトを確認すると古いコンテンツが表示される問題がありました。GitBook技術責任者のSteven Hall氏は、ある顧客が大型機能リリース時にドキュメントの反映が遅れた事例を挙げ、ドキュメントもプロダクションコードと同等に扱う必要があると認識したと述べています。
解決策として、Next.jsのuse cacheディレクティブを活用し、ページ全体ではなくデータ取得関数単位でキャッシュする方式を採用しました。無効化にはタグベースの仕組みを導入し、マージイベント発生時に該当コンテンツのタグのみを再検証します。これにより、1サイトの修正が他の2万9999サイトに影響しない精密な制御を実現しました。
現在、日次4万件のキャッシュ無効化を処理し、各更新は300ミリ秒以内にグローバルへ反映されます。一方、2025年にはAIクローラーからのアクセスが前年比5倍に急増し、全トラフィックの41%をAI経由が占めるようになりました。AIは人間と異なり数百サイトを一括走査するため、キャッシュのコールドパスに大量のアクセスが集中します。
Hall氏はAI対応を目的にキャッシュ設計を選んだわけではないとしつつも、結果として適切な基盤になったと評価しています。今後はユーザーに応じてコンテンツを変えるアダプティブドキュメント機能など、マルチテナントキャッシュの複雑性がさらに増す見込みです。AIトラフィックの増加とともに、低遅延と予測可能性の維持がスケーリングの主要課題となっています。