use, etc) for LINE app and Web • Sticker Shop and Theme Shop in LINE app • Web store named LINE STORE (https://store.line.me/) • LINE wallet in LINE app’s Wallet tab (Not Sticker/Emoji/Theme, though)
• 8,550,000 LINE Sticker sets are on sale (As of Mar 2020) • 433,000,000 stickers sent per day on average (As of April 2019) •RPS(requests/sec) • Usual: ~ 50K RPS • Event/New Year: ~ 100K RPS *1 en: https://linecorp.com/en/pr/news/en/2020/3157 ja:https://linecorp.com/ja/pr/news/ja/2020/3127
LINE STORE (https://store.line.me) shop-proxy (Shop API gateway) shop-server stickershop-server search-fe ownership-server capability-server LINE Shop Overview (include LEGY and talk-server) CWA (Web App in LINE)
LINE Sticker official account • As of Feb 2020, the account has 57,000,000 friends • Increasing continuously (YoY: x1.5) • The account sends messages to friends regularly
scale • 8,550,000 LINE Sticker sets are on sale (As of Mar 2020) • 433,000,000 stickers sent per day on average (As of April 2019) • RPS • Usual: ~ 50K RPS • Event/New Year: ~ 100K RPS •Introduced LINE Shop service architecture
number of servers • Based on API latency, server’s load, etc • e.g. • Supposed total RPS: 10K • Current capacity per one app server: 1K • As the result: 10K / 1K = Need 10 servers
server’s load and setting as well • If we add many app servers, DB servers may become bottle neck • Connection error might occur due to DB’s max connections
app servers with higher spec servers • Advantages: • Reduce DB connections • Make faster server provisioning (we use Ansible) • Reduce server operation cost
• Custom Stickers’ requests higher than our expectation • There was no data for 2018 • Custom Stickers has been released in 2019 • Added app servers for Custom Stickers urgently • However, it took long time due to server provisioning
Failure detection time • Affected services • Cause • Timeline • How to prevent future failures • How to improve failure detection • How to improve failure handling
Sticker server • Rate limiter can reduce server load •Make server scale-out faster • More automation • Make Ansible execution duration faster • Consider to migrate to k8s
year • The service failure occurred in part of our service • However, thanks to microservices, the failure didn't affect to whole service • We organize postmortem meeting with related teams
Custom Sticker Development Works https://linedevday.linecorp.com/jp/2019/sessions/S1-02 •Custom Elements in Custom Stickers https://linedevday.linecorp.com/jp/2019/sessions/S2-10
https://linedevday.linecorp.com/jp/2019/sessions/D1-6 • Armeria: A Microservice Framework Well-suited Everywhere https://linedevday.linecorp.com/jp/2019/sessions/D2-2 Related sessions at LINE DEV DAY 2019 (Architecture)