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

Measures to Reduce the Load on Purchasing Flow ...

Measures to Reduce the Load on Purchasing Flow to Support the Super PayPay Campaign

Kuniyuki Tokizawa (Yahoo! JAPAN / Production Division 2, Shopping Services Group, Commerce Group / Senior Manager)

https://tech-verse.me/ja/sessions/245
https://tech-verse.me/en/sessions/245
https://tech-verse.me/ko/sessions/245

Tech-Verse2022

November 18, 2022
Tweet

More Decks by Tech-Verse2022

Other Decks in Technology

Transcript

  1. About us • 2007〜 Yahoo! Auction • 2013〜 Yahoo! Shopping

    • 2019〜 Yahoo! Shopping(Order, Settle) Work experience • Fishing • Game Favorite • ServerSide BE • WebAPI • Load balancing Tech
  2. in2022 in2020 in2015 in2021 〜 in2014 History of Super Sales

    The history of Yahoo! Shopping's large sale Japan’s best winner Year-end appreciation the Super PayPay Festival Spring Summar PayPay Festival start Happy shopping day start (〜2019) the Super PayPay Festival start the Super PayPay Festival now 〜 〜 〜 in2018
  3. 0 2 4 6 8 10 12 14 we A

    B C D E F G H Daily transaction volume growth The day when Yahoo! Shopping sold the most in a single day GMV
  4. 0 2 4 6 8 10 12 14 we A

    B C D E F G H Maximum orders per second Maximum number of orders per second GMV Order
  5. 0 2 4 6 8 10 12 14 we A

    B C D E F G H Daily order trends happy shopping day 2019
  6. Change of sale period Load countermeasures while changing the setting

    of the sail Before Single Day After Multiple Days ü Longer sale period ü “Grand Finale” in 2 days ü 2 hours extension as injury time
  7. Common to all systems Increase volume + Adjust volume +

    Keep threshold Server+Database STEP1 Scale Out & Up flow restriction STEP2 Async Limit setting STEP3 RateLimit
  8. Scale Out & Up Web/API Scale Out + DB Versipn

    up(Oracle 19c) Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet
  9. Async Order DB + Settle DB + Authorization Acquiring Cart

    PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet
  10. RateLimit Cart UI & PayPayGW & Acquiring Acquiring Cart PayPay

    Order Settle PayPayGW PayPay PayPayCard etc Wallet
  11. Approach to Database Focusing on the order database as a

    representative Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet
  12. Features of Order Database • 3 node configuration x2 •

    store id as primary key • large amount of data • Insert when user orders • Updates mostly from the store • Main references are lists and details • Both stores and users refer to each other • The list from the user is the bottleneck Issues with Order Database Wait events occurred due to many references and updates between nodes 実践!! 高可用性システム構築~RAC詳細編~ - Oracleより引用
  13. Before The order database holds the same data for each

    node in a 3node x 2, 6node configuration Contents Node1 Contents Node2 Contents Node3 Application Read/Write ①Insert ②Select(User List)
  14. CQRS pattern Separate data store read and update operations (command

    query duty separation) Store update/reference STEP1 Sharding Reference measures STEP2 ReadOnly User list measures STEP3 Data source isolation
  15. Sharding Reduce wait events by changing the access destination for

    each store that is the primary key Contents Node1 Contents Node2 Contents Node3 Application A-Store B-Store C-Store Read/Write Read/Write Read/Write
  16. ReadOnly Have a cluster for referrals and some referrals will

    divert requests to it. Contents Node1 Contents Node2 Contents Node3 Application A-Store B-Store C-Store R/W R/W R/W Contents Nodes Part of Read Dataguard
  17. Data source isolation A separate resource is prepared for the

    request to view the list of users with the highest load. Contents Node1 Contents Node2 Contents Node3 Application A-Store B-Store C-Store R/W R/W R/W Contents Nodes Part of Read Dataguard Application KVS Read (User List) Write
  18. - Prepare an apology screen - Display congestion forecast -

    Information can be updated according to emergency RateLimit is reached
  19. Full system load test Conduct load test including reference as

    well as orders. Set RateLimit based on the actual value. TOP Search Item Cart Order Item
  20. Structure within Yahoo! Under the CTO, a system that can

    move across the board Auction CTO Commerce infrastructure Financial management System management Data management Shopping
  21. 0 2 4 6 8 10 12 14 we A

    B C D E F G H Daily order trends 2021 Super PayPay Festival (Spring)
  22. 0 2 4 6 8 10 12 14 we A

    B C D E F G H Order quantity comparison “2019 Happy shopping day 2019” VS “2021 Super PayPay Festival (Spring)” ▪2019 Happy shopping day ▪2021 Super PayPay Festival (Spring)
  23. What we can do now • Displays reception status, congestion

    forecast, etc. Brush up on UI/UX for users Be more communicative to users Future plan • In orders at the start of a sale • How to notify when failures • Wait before buying
  24. What we can do now • Notice frame in the

    tool Improvements for stores To make it easier for stores to operate Future plan • How to notify when failures • Status of asynchronous
  25. Eliminate single points of failure Single Point of Failure Acquiring

    Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet
  26. Review of emergency cooperation system • Cooperation with other internal

    departments • Workflow recheck • Notice to the user & store Cooperation system in the event of failure Collaborate on failure details and countermeasures so that users and stores can move forward