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

Measures to Address the Load to Yahoo! JAPAN Shopping App

Measures to Address the Load to Yahoo! JAPAN Shopping App

Akinori Izumi (Yahoo! JAPAN / Production Division 1, Shopping Services Group, Commerce Group / Senior Manager)

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

Tech-Verse2022

November 18, 2022
Tweet

More Decks by Tech-Verse2022

Other Decks in Technology

Transcript

  1. About Me Akinori Izumi JOIN I joined Yahoo! JAPAN as

    a new graduate COMPANY HISTORY 2012 - Web frontend FOHJOFFS 2014 - Backend FOHJOFFS 2016 - System operator & Manager 2019 - App engineer & Manager 2019 - System general load manager CURRENT Head of development responsible for the native application LIKE Camp / Basketball
  2. Introduction Super sales place a high load on the system.

    In this session, we will introduce the load measures and efforts related to loads on Yahoo! JAPAN Shopping App.
  3. Agenda - About “Super PayPay Festival” - Comparison with server-side

    applications - Load balancing for Yahoo! JAPAN Shopping App - Prepare for the unexpected - Conclusion
  4. Agenda - About “Super PayPay Festival” - Comparison with server-side

    applications - Load balancing for Yahoo! JAPAN Shopping App - Prepare for the unexpected - Conclusion
  5. Super PayPay Festival? - What is Super PayPay Festival ?

    Large-scale campaign measures to be held simultaneously offline and online You can also save at Yahoo! JAPAN Shopping - Preparedness for system load Increased load on the system Countermeasures in cooperation with a team of load specialists Native apps are also covered
  6. Impact of Super Sale in App In the past, load

    has affected app functionality. Stopped major functions Major functions of the application were suspended with the start of the promotional event. Stopped top page Top page module could not be displayed due to high load. Stopped native app functions Native cart and order history could not be displayed due to high load
  7. Agenda - About “Super PayPay Festival” - Comparison with server-side

    applications - Load balancing for Yahoo Shopping App - Prepare for the unexpected - Conclusion
  8. Troubleshooting in server side application Completed only on the server

    side Frontend Server API Server Data Base .BTTBDDFTT
  9. Troubleshooting in Yahoo! JAPAN Shopping App Failure notification Hiding modules

    Emergency release Access control by app × × ただいま障害が発生しています クーポン機能に障害が発生しています
  10. Issues For Yahoo! JAPAN Shopping App - Update required Emergency

    release is not available Bugs will remain - App engineers will be on the sidelines Fewer means of app Request a server-side engineer
  11. Agenda - About “Super PayPay Festival” - Comparison with server-side

    applications - Load balancing for Yahoo! JAPAN Shopping App - Prepare for the unexpected - Conclusion
  12. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App "DDFTT"1*$BMM /BUJWF"QQ Focus on API communication load
  13. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App /BUJWF"QQ External file API on-off .BTTBDDFTT
  14. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App /BUJWF"QQ ᶃ3FBEJOHTFUUJOHWBMVF External file API on-off .BTTBDDFTT
  15. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App /BUJWF"QQ ᶄ"1*DPNNVOJDBUJPOKVEHNFOU ᶃ3FBEJOHTFUUJOHWBMVF External file API on-off
  16. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App ᶅ"DDFTT$POUSPM /BUJWF"QQ ᶄ"1*DPNNVOJDBUJPOKVEHNFOU ᶃ3FBEJOHTFUUJOHWBMVF External file API on-off Access control enabled on app
  17. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App ᶅ"DDFTT$POUSPM /BUJWF"QQ ᶄ"1*DPNNVOJDBUJPOKVEHNFOU ᶃ3FBEJOHTFUUJOHWBMVF External file Request Frequency Access control enabled on app
  18. API 4FSWFS Data Base Load balancing for Yahoo! JAPAN Shopping

    App ᶅ"DDFTT$POUSPM /BUJWF"QQ ᶄ"1*DPNNVOJDBUJPOKVEHNFOU ᶃ3FBEJOHTFUUJOHWBMVF External file API on-off Request Frequency App Developer
  19. External File { "host": "apihost.yahooapis.jp", "children": [ { "path": "/api/path/hoge",

    "limit": 600, "emg": false }, { "path": "/api/path/fuga", "limit": 0, "emg": true } ] }, { "host": "apihost2.yahooapis.jp", - Simple json array • host • path • limit • For frequency caps • emg • For API switch - Multiple input
  20. External File { "host": "apihost.yahooapis.jp", "children": [ { "path": "/api/path/hoge",

    "limit": 600, "emg": false }, { "path": "/api/path/fuga", "limit": 0, "emg": true } ] }, { "host": "apihost2.yahooapis.jp", - Simple json array • host • path • limit • For frequency caps • emg • For API switch - Multiple input
  21. External File { "host": "apihost.yahooapis.jp", "children": [ { "path": "/api/path/hoge",

    "limit": 600, "emg": false }, { "path": "/api/path/fuga", "limit": 0, "emg": true } ] }, { "host": "apihost2.yahooapis.jp", - Simple json array • host • path • limit • For frequency caps • emg • For API switch - Multiple input
  22. External File { "host": "apihost.yahooapis.jp", "children": [ { "path": "/api/path/hoge",

    "limit": 600, "emg": false }, { "path": "/api/path/fuga", "limit": 0, "emg": true } ] }, { "host": "apihost2.yahooapis.jp", - Simple json array • host • path • limit • For frequency caps • emg • For API switch - Multiple input
  23. Agenda - About “Super PayPay Festival” - Comparison with server-side

    applications - Load balancing for Yahoo! JAPAN Shopping App - Prepare for the unexpected - Conclusion
  24. Display in webview Still, trouble will occur For top page

    Has the ability to open pages in webview
  25. Modules Durability Countermeasure Campaign High No problem Ranking High /PQSPCMFN

    CVUVTFDBDIF Order History Low Simplified view View History Low Switch to another module Coupon Low Change to static module Still, trouble will occur Always take load measures
  26. Agenda - About “Super PayPay Festival” - Comparison with server-side

    applications - Load balancing for Yahoo! JAPAN Shopping App - Prepare for the unexpected - Conclusion
  27. The mind of a Native App Engineers - App engineers

    also have to deal with load Apps are the first system users touch Consider the app means Image: Aflo
  28. Image: Aflo - Remember to be aware of high loads

    Assume a high load Workaround Preparation The mind of a Native App Engineers
  29. Image: Aflo - Need to understand Backend system It's not

    just about Apps knowledge Considering the optimal solution The mind of a Native App Engineers
  30. Conclusion The mind of a native app engineers - App

    engineers also have to deal with load - Remember to be aware of high loads - Need to understand the Backend system We reduced the request over 10000 req/sec Image: Aflo