Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BFF(Backend for Frontend)

BFF(Backend for Frontend)

近年バックエンドのマイクロサービス化とクライアントの種類の増加によって、クライアント↔️サーバー間のやり取りが複雑化する傾向があり、その溝を埋めるためにBFF(Backend for Frontend)という特定のクライアントに特化したサーバーを間に置くというパターンが現れました。発表ではBFFの概要、デモ、BFFについてのディスカッションなどを紹介します。

DeNA_Tech

July 21, 2020
Tweet

More Decks by DeNA_Tech

Other Decks in Technology

Transcript

  1. 問題 1. 問い合わせ回数の増加 2. クライアント側のコードの増加 3. 保守性、拡張性が悪くなる 4. 改修時の影響範囲が拡大する 原因

    1. サービスの成長により、機能が増えた 2. マイクロサービス化によって、問い合わせ先が 複数になった 3. モバイル/Web などクライアントが複数種類に増 えた
  2. インターフェースをどうするか BFF <-> バックエンド • gRPCを使う • Apache Thriftを使う ---

    サービス定義ファイルからクライ アント/サーバーのコードを生成 できる✨ Example Type_go lang Example Type_ko tlin 共通の型を定義できないか ?
  3. インターフェースをどうするか アプリ/ブラウザ <-> BFF • OpenAPI/Swaggerを使う • gRPCを使う (クライアントが サポートしている場合)

    --- サービス定義ファイルからクライ アント/サーバーのコードを生成 できる✨ bff_Exa mpleTyp e_kotlin bff_Exa mpleTyp e_flutter 共通の型を定義できないか ?