先月1ヶ月間に渡って、Netflixは同社が1年以上前に始めたAPI最適化に関する話を発表した。当初は通信を少なくしペイロードのサイズを小さくすることで性能の最適化しようとしていた[1]が、1年にわたる再設計の結果、APIの開発と運用を分散化しサービス層は非同期になった。再設計の第一の特徴はクライアントとサーバの責任の境界[2]を再定義したことだ。こうすることでコンテンツのフォーマッティングなどきめ細かいカスタマイズが可能になり、Netflixに接続する多様なクライアントデバイス間の差異(メモリ、キャパシティ、ドキュメント配信、モデル、ユーザインターフェース)に対処できる。 InfoQはNetflixのシニアソフトウエアエンジニアであるBen Christensen氏に設計の詳細について話を聞いた。 InfoQ: 1年前、性能最適化を始めたころのNetflix APIのアーキテクチャを教え