Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction of LINE LIVE
Search
LINE Developers
March 27, 2019
Technology
1
1.4k
Introduction of LINE LIVE
Streaming Conference #6 @LINE
Kazuhiro Osawa ( @yappo )
LINE Developers
March 27, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.4k
Java 21 Overview
line_developers
6
1.3k
Code Review Challenge: An example of a solution
line_developers
1
1.5k
KARTEのAPIサーバ化
line_developers
1
610
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.3k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.4k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.9k
A/B Testing at LINE NEWS
line_developers
3
1.1k
LINEのサポートバージョンの考え方
line_developers
2
1.5k
Other Decks in Technology
See All in Technology
Phase04_ターミナル基礎
overflowinc
0
2.4k
Phase11_戦略的AI経営
overflowinc
0
1.6k
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
120
A4)シラバスを超えて語る、テストマネジメント
moritamasami
0
130
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.3k
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
800
Phase01_AI座学_基礎
overflowinc
0
4k
Bref でサービスを運用している話
sgash708
0
190
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.4k
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
190
Change Calendarで今はOK?を仕組みにする
tommy0124
1
110
スピンアウト講座01_GitHub管理
overflowinc
0
1.4k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Accessibility Awareness
sabderemane
0
84
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Technical Leadership for Architectural Decision Making
baasie
3
300
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
My Coaching Mixtape
mlcsv
0
86
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
310
Building Applications with DynamoDB
mza
96
7k
Site-Speed That Sticks
csswizardry
13
1.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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