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

ZOZOTOWNトップページの裏側 / Back side of the ZOZOTOWN t...

ZOZOTOWNトップページの裏側 / Back side of the ZOZOTOWN top page

TakahashiKazutaro

July 29, 2021
Tweet

More Decks by TakahashiKazutaro

Other Decks in Technology

Transcript

  1. © ZOZO Technologies, Inc. https://zozo.jp/
 • 日本最大級のファッション通販サイト
 • 1,400以上のショップ、8,200以上のブランドの取り扱い(ともに2021年3月 末時点)


    • 常時83万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品 を掲載
 • コスメ専門モール「ZOZOCOSME」や靴の専門モール
 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン
 「ZOZOVILLA」を展開
 • 即日配送サービス
 • ギフトラッピングサービス
 • ツケ払い など
 3
  2. © ZOZO Technologies, Inc. ZOZO Aggregation APIを実装した目的
 8 • 各マイクロサービスへの通信をまとめる


    • パーソナライズを見据えてモジュールの出し分けをする
 • コンテンツの運用負荷の削減する
 • 表示モジュールのA/Bテストを可能にする

  3. © ZOZO Technologies, Inc. モジュールとは
 9 • ZOZOTOWNのトップページに表示されて一 定の目的を持った商品情報の塊のこと
 


    • リニューアル前から現在と同様に情報を表 示する単位でデバイスごとに存在していた
 

  4. © ZOZO Technologies, Inc. リニューアル前のZOZOTOWNのトップページの構成
 11 • Web、アプリで必要に応じて各APIやオンプレ DB(ストアド)へアクセスしていた
 


    • 今後、マイクロサービスが進むにつれ、アクセ ス対象となるAPIが増え、そのAPIの要件に よっては、クライアントサイドで改修が必要に なる

  5. © ZOZO Technologies, Inc. リニューアル後のZOZOTOWNのトップページの構成
 12 • トップページのすべてのアクセスはAPI Gatewayを通してAggregation APIへ

    一本化 された
 
 • 今後、マイクロサービスが増えた場合でもクラ イアントから通信を行うのではなく、 Aggregation APIから通信を行う
 

  6. © ZOZO Technologies, Inc. キャッシュスタンピード対策について
 
 19 ZOZOTOWNリニューアルで 実 施

    した Cache Stampede対策
 https://techblog.zozo.com/entry/zozotown-cache-stampede

  7. © ZOZO Technologies, Inc. 26 全体レスポンス { "result": [ {

    モジュールAレスポンス }, { モジュールBレスポンス }, { モジュールCレスポンス }, { モジュールDレスポンス } ] }
 Aggregation APIのレスポンス

  8. © ZOZO Technologies, Inc. 27 全体レスポンス { "result": [ {

    モジュールAレスポンス }, { モジュールBレスポンス }, { モジュールCレスポンス }, { モジュールDレスポンス } ] }
 Aggregation APIのレスポンス
 { "common_information": { "title": "モジュールAタイトル", "sub_title": "モジュールAサブタイトル", "module_type": "モジュールA", : }, "module_information": [ { "item_id": 1234567, "item_name": "サンプルA", "price": 5500 }, { : }, ] } モジュールの共通情報 モジュール情報
  9. © ZOZO Technologies, Inc. • BFFとしてはクライアントと1対1とすべき
 ◦ Web : Web用API、App:App用API


    • 多くのチームとのコミュニケーションが取れた
 34 Aggregation APIを構築して得られたこと

  10. © ZOZO Technologies, Inc. • ZOZO Aggregation APIを実装
 • 各マイクロサービスとの通信をまとめる役割


    • 一部のマイクロサービスとの通信でエラーでも大丈夫
 35 まとめ