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.3k
Java 21 Overview
line_developers
6
1.2k
Code Review Challenge: An example of a solution
line_developers
1
1.4k
KARTEのAPIサーバ化
line_developers
1
550
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.2k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.2k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.6k
A/B Testing at LINE NEWS
line_developers
3
1k
LINEのサポートバージョンの考え方
line_developers
2
1.3k
Other Decks in Technology
See All in Technology
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
270
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
480
ガチな登山用デバイスからこんにちは
halka
1
240
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
360
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
320
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
400
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
150
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
What's in a price? How to price your products and services
michaelherold
246
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
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