Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction of LINE LIVE
Search
LINE Developers
March 27, 2019
Technology
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction of LINE LIVE
Streaming Conference #6 @LINE
Kazuhiro Osawa ( @yappo )
LINE Developers
March 27, 2019
Transcript
19 slides
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
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.7k
Java 21 Overview
line_developers
6
1.4k
Code Review Challenge: An example of a solution
line_developers
1
1.7k
KARTEのAPIサーバ化
line_developers
1
660
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.4k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.6k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
4.2k
A/B Testing at LINE NEWS
line_developers
3
1.2k
LINEのサポートバージョンの考え方
line_developers
2
1.6k
Other Decks in Technology
See All in Technology
[General] 개발자로 해외 기업에서 일하기
skydoves
1
330
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
350
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.4k
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
160
Context != Context: One window, many lifecycles (AI Native DevCon, Nov 2026)
birgitta410
0
110
田んぼの見回りをIoTで減らしたい!水位監視から電池駆動カメラまでの試行錯誤
itosoft
1
120
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
310
Shared Signals Framework 仕様解説
oidfj
0
370
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
210
これからのデータエンジニアの役割について考える / Rethinking the Role of Data Engineers in the AI Era
okiyuki99
0
360
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
1
460
evcc & Home Assistant
naltatis
0
570
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
580
Speed Design
sergeychernyshev
33
2.2k
Six Lessons from altMBA
skipperchong
29
4.6k
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Writing Fast Ruby
sferik
630
63k
How to make the Groovebox
asonas
2
2.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
470
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The untapped power of vector embeddings
frankvandijk
2
2k
What's in a price? How to price your products and services
michaelherold
247
13k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Unsuck your backbone
ammeep
672
58k