Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

About us • 2007〜 Yahoo! Auction • 2013〜 Yahoo! Shopping • 2019〜 Yahoo! Shopping(Order, Settle) Work experience • Fishing • Game Favorite • ServerSide BE • WebAPI • Load balancing Tech

Slide 3

Slide 3 text

Agenda - the Super PayPay Festival - Solution Business System UI/UX Organaization - Future

Slide 4

Slide 4 text

Yahoo! Shopping

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

0 2 4 6 8 10 12 14 we A B C D E F G H Daily order trends happy shopping day 2019

Slide 9

Slide 9 text

Glory and Frustration

Slide 10

Slide 10 text

Solution Conducted in 4 categories System Organaization UI/UX Business

Slide 11

Slide 11 text

Solution Conducted in 4 categories System Organaization UI/UX Business

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Solution Conducted in 4 categories System Organaization UI/UX Business

Slide 14

Slide 14 text

System configuration Purchasing line schematic diagram Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet

Slide 15

Slide 15 text

Common to all systems Increase volume + Adjust volume + Keep threshold Server+Database STEP1 Scale Out & Up flow restriction STEP2 Async Limit setting STEP3 RateLimit

Slide 16

Slide 16 text

Scale Out & Up Web/API Scale Out + DB Versipn up(Oracle 19c) Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet

Slide 17

Slide 17 text

Async Order DB + Settle DB + Authorization Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Approach to Database Focusing on the order database as a representative Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet

Slide 20

Slide 20 text

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より引用

Slide 21

Slide 21 text

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)

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Solution Conducted in 4 categories System Organaization UI/UX Business

Slide 27

Slide 27 text

Order acceptance display Order completion Order history list

Slide 28

Slide 28 text

Congestion forecast - Congestion forecast time - The expected time of congestion relief

Slide 29

Slide 29 text

- Prepare an apology screen - Display congestion forecast - Information can be updated according to emergency RateLimit is reached

Slide 30

Slide 30 text

Solution Conducted in 4 categories System Organaization UI/UX Business

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

Organization within shopping Launching the SRE team Serch SRE Item Cart Order Settle TOP

Slide 34

Slide 34 text

Solution Conducted in 4 categories System Organaization UI/UX Business Result

Slide 35

Slide 35 text

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)

Slide 36

Slide 36 text

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)

Slide 37

Slide 37 text

Future

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

Eliminate single points of failure Single Point of Failure Acquiring Cart PayPay Order Settle PayPayGW PayPay PayPayCard etc Wallet

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

Please listen thank you very much