Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Introduction of LINE LIVE
LINE Developers
PRO
March 27, 2019
Technology
1
990
Introduction of LINE LIVE
Streaming Conference #6 @LINE
Kazuhiro Osawa ( @yappo )
LINE Developers
PRO
March 27, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEのData Platform室が実践する大規模分散環境のCapacity Planning
line_developers
PRO
0
240
LINEスタンプの実例紹介 小さく始める障害検知・対応・振り返りの 改善プラクティス
line_developers
PRO
3
1.3k
読者のことを考えて書いてみよう / Write with your reader in mind
line_developers
PRO
3
230
登壇者をどうやって確保するのか問題
line_developers
PRO
1
180
Machine Learning at LINE
line_developers
PRO
2
220
自分が書いた文章をレビューしてもらうときの心構え / Readiness for having your writing reviewed
line_developers
PRO
3
450
JavaScriptの進化で変わる身近なコーディング習慣
line_developers
PRO
10
11k
デザインシステムのa11y対応に役立つ新しいWeb Standard
line_developers
PRO
0
1.1k
Metrics Aggregation Data Flow
line_developers
PRO
0
2.2k
Other Decks in Technology
See All in Technology
AWS CloudShellという推しサービスについて / lt-20220502-jawsug-cli
becominn
0
640
20220510_簡単にできるコスト異常検出(Cost Anomaly Detection) /jaws-ug-asa-cost-anomaly-detection-20220510
emiki
2
310
The Real MVP: Going from idea to users' hands
adavis
0
600
キャッチアップ Android 13 / Catch up Android 13
yanzm
2
890
Deeplearning from almost scratch
hn410
0
580
Salesforce女子部-権限についてまとめてみたその1
sfggjp
0
180
~スタートアップの人たちに捧ぐ~ 監視再入門 in AWS
track3jyo
PRO
30
8.4k
Learning from AWS Customer Security Incidents [2022]
ramimac
0
470
5分で完全理解するGoのiota
uji
3
1.8k
ZOZOTOWNのProduction Readiness Checklistと信頼性向上の取り組み / Improvement the reliability of ZOZOTOWN with Production Readiness Checklist
akitok_
5
1.4k
SRENEXT2022 組織にSREを実装していくまでの道のり
marnie0301
1
200
Puny to Powerful PostgreSQL Rails Apps
andyatkinson
PRO
0
150
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
33
1.3k
Fireside Chat
paigeccino
11
1.2k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
172
8.3k
Why Our Code Smells
bkeepers
PRO
324
54k
Teambox: Starting and Learning
jrom
121
7.6k
Designing for Performance
lara
596
63k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
Bash Introduction
62gerente
596
210k
Building Adaptive Systems
keathley
25
1.1k
The Pragmatic Product Professional
lauravandoore
19
2.9k
A Tale of Four Properties
chriscoyier
149
20k
Agile that works and the tools we love
rasmusluckow
319
19k
Transcript
LINE LIVE ΞϓϦͷઃܭࢥ Kazuhiro OSAWA, LINE Corporation. 2019/03/27 Streaming Conference
#6 @LINE αʔόฤ
@yappo https://github.com/yappo ࣗݾհ େ LINEגࣜձࣾ ։ൃ3ηϯλʔॴଐ LINE LIVE ։ൃ୲ϚωʔδϟͳͲ
લʑճͷ͋Β͢͡ • LINE LIVE System Overview • HLS Hack •
ٸͳ৴அ࣌ͷϑϩʔ • Chat System Overview • LOVE Architecture https://www.slideshare.net/linecorp/a-7-architecture-sustaining-line-live
લճͷ͋Β͢͡ • Elasticsearch Ͱ࡞ͬͨϥϯΩϯάγεςϜ • PC৴ͷ࣮༰ • RabbitMQಋೖظ • ͜ͷ1Ͱͯ͢
Kafka ʹϦϓϨʔε • LINE ͷதʹ LIVE ͷ native code Λ࣮ https://www.slideshare.net/linecorp/update-of-line-live-over-the-past-year
Service History https://www.slideshare.net/linecorp/a-7-architecture-sustaining-line-live
ࠓճͷ͢༰
Tech Stack ͷࠓੲͦͯ͠ ͦͷબΛԿނ͔ͨ͠? +࠷ۙͷڥͳͲ
Android iOS Web •Vue.js, Vuex •hls.js •axios •Webpack •Angular.js (CMS)
•Swift 100% •ishkawa/APIKit •Starscream (WebSocket) •PromiseKit •MVC, MVVM, Redux •UIKit •Kotlin30% • ৽نશ෦Kotlin •RxJava2 •Dagger2 •OkHttp3 + Retrofit2 •MVVM, Redux Current Clients Tech Stack Native Client ʹؔͯ࣍͠ͷηογϣϯͰৄࡉઆ໌͋Γ·͢
CORE CHAT CMS •Spring •Spring Boot •Akka •Redis PubSub •MySQL
•Avans •Jesque •Redis •MySQL •Memcached OLD Server Components • ٕज़తόοΫάϥϯυ͕ଟछଟ༷ͳϝϯόʔͰ։ൃΛ։࢝ͨ͠ • ͦΕͧΕͷಘҙͳٕज़બΛߦͬͯαʔϏε։ൃΛ։࢝ͨ͠ • ֤छίϯϙʔωϯτʹɺߋʹෳͷΞϓϦέʔγϣϯʹࡉԽ͞Ε͍ͯΔ • ࣾͷଞͷαʔϏεͰڞ௨ԽͰ͖Δ෦ઐ༻ͷνʔϜͰ։ൃ • ΤϯίʔμαʔόετϨʔδRTMP৴ϞδϡʔϧͳͲ
CORE CHAT CMS •Spring •Spring Boot •Akka •Redis PubSub •MySQL
•Spring Boot •Kafka •Redis •MySQL •Elasticsearch Current Server Components • Ұൠతͳ Java Application ͷߏʹมߋ͍ͯ͠Δ • ֤छϛυϧΣΞࣾͷҰൠߏ͕Ͱ͖͖ͯͨͷͰҰൠతͳͷʹҠߦ • ࣾͷ Private Cloud ͖ͬͯͨͷͰɺҠ͠ସ͑Λৗ࣌ߦ͍ͬͯΔ • ͜͜1ʙ2Կ͔͠ΒͷҠߦλεΫΛ࣮ࢪ͍ͯ͠Δ • αʔόॳΑΓഒۙ͘ʹ૿͖͍͑ͯͯΔ LINE Bot •Spring Boot •Kafka •MySQL
֤ίϯϙʔωϯτछྨ͝ͱʹ ٕज़ελοΫҧ͍ͬͯͨ ϦϦʔεॳ WAF Ҡߦޙ core Avans Spring Boot 2.1.3
ཧը໘ Spring 4.3.x Spring Boot 2.2.x (༧ఆ) chat Spring Boot 1.4.x Spring Boot 2.2.x (༧ఆ) for LINE Bot Spring Boot 1.5.x Spring Boot 2.1.3 ։ൃνʔϜ͕एׯ͔Ε͍ͯͨɺͱ͔͍͏Α͋͘Δཧ༝ɻ ※2019/03/25 ͷࢿྉ͔Βൈਮ
શϦϙδτϦ αʔόͷछྨ: 27
System Diagram for Public
Chat Diagram for Public
• γεςϜϝτϦΫε • Grafana • Kibana • Ξϥʔτ௨ • IMON
(https://www.slideshare.net/linecorp/observability-at-line) • Prometheus • ϩάࢹ • IMON • Kibana • ϓϩϑΝΠϦϯά • Spring Boot Admin, VisualVM, Java Flight Recorder, jcmd, etc ֤छཧπʔϧ
Spring Boot Admin ͰJVMͷҰݩཧࢦ͢ ※·ͩະಋೖͷ ίϯϙʔωϯτଟ͋Δ
• ֤छίϯϙʔωϯτͷ౷ഇ߹ͯ͠࠷దԽΛ͍͖͍ͯͨ͠ • Storage Access ࠷దԽ • Logging ӡ༻ࢹϨϕϧͷ্ •
Client <-> Server ͷ௨৴࠷దԽ • ৴Ԇͷվળ • MediaServer ͷϦϓϨʔε (ϦϓϨʔεޙʹ LIME ͱͯ͠ OSS ެ։༧ఆ) • https://www.slideshare.net/linecorp/how-does-line-effectively-handle-media- content ͍͖͍ͬͯͨ͜ͱଟ͍
• ֤छίϯϙʔωϯτͷ౷ഇ߹ͯ͠࠷దԽΛ͍͖͍ͯͨ͠ • Storage Access ࠷దԽ • Logging ӡ༻ࢹϨϕϧͷ্ •
Client <-> Server ͷ௨৴࠷దԽ • ৴Ԇͷվળ • MediaServer ͷϦϓϨʔε (ϦϓϨʔεޙʹ LIME ͱͯ͠ OSS ެ։༧ఆ) • https://www.slideshare.net/linecorp/how-does-line-effectively-handle-media- content ͍͖͍ͬͯͨ͜ͱଟ͍ ࠾༻
THANK YOU