Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction of LINE LIVE

Introduction of LINE LIVE

Streaming Conference #6 @LINE
Kazuhiro Osawa ( @yappo )

LINE Developers

March 27, 2019
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

  1. લʑճͷ͋Β͢͡ • LINE LIVE System Overview • HLS Hack •

    ٸͳ഑৴੾அ࣌ͷϑϩʔ • Chat System Overview • LOVE Architecture https://www.slideshare.net/linecorp/a-7-architecture-sustaining-line-live
  2. લճͷ͋Β͢͡ • Elasticsearch Ͱ࡞ͬͨϥϯΩϯάγεςϜ • PC഑৴ͷ࣮૷಺༰ • RabbitMQಋೖظ • ͜ͷ1೥Ͱ͢΂ͯ

    Kafka ʹϦϓϨʔε • LINE ͷதʹ LIVE ͷ native code Λ࣮૷ https://www.slideshare.net/linecorp/update-of-line-live-over-the-past-year
  3. 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 ʹؔͯ͠͸࣍ͷηογϣϯͰৄࡉઆ໌͋Γ·͢
  4. CORE CHAT CMS •Spring •Spring Boot •Akka •Redis PubSub •MySQL

    •Avans •Jesque •Redis •MySQL •Memcached OLD Server Components • ٕज़తόοΫάϥϯυ͕ଟछଟ༷ͳϝϯόʔͰ։ൃΛ։࢝ͨ͠ • ͦΕͧΕͷಘҙͳٕज़બ୒ΛߦͬͯαʔϏε։ൃΛ։࢝ͨ͠ • ֤छίϯϙʔωϯτʹ͸ɺߋʹෳ਺ͷΞϓϦέʔγϣϯʹࡉ෼Խ͞Ε͍ͯΔ • ࣾ಺ͷଞͷαʔϏεͰڞ௨ԽͰ͖Δ෦෼͸ઐ༻ͷνʔϜͰ։ൃ • Τϯίʔμαʔό΍ετϨʔδ΍RTMP഑৴ϞδϡʔϧͳͲ
  5. 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
  6. ֤ίϯϙʔωϯτ΋छྨ͝ͱʹ ٕज़ελοΫ΋ҧ͍ͬͯͨ ϦϦʔε౰ॳ 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 ͷࢿྉ͔Βൈਮ
  7. • γεςϜϝτϦΫε • Grafana • Kibana • Ξϥʔτ௨஌ • IMON

    (https://www.slideshare.net/linecorp/observability-at-line) • Prometheus • ϩά؂ࢹ • IMON • Kibana • ϓϩϑΝΠϦϯά • Spring Boot Admin, VisualVM, Java Flight Recorder, jcmd, etc ֤छ؅ཧπʔϧ
  8. • ֤छίϯϙʔωϯτͷ౷ഇ߹ͯ͠࠷దԽΛ͍͖͍ͯͨ͠ • Storage Access ࠷దԽ • Logging ӡ༻؂ࢹϨϕϧͷ޲্ •

    Client <-> Server ͷ௨৴࠷దԽ • ഑৴஗Ԇͷվળ • MediaServer ͷϦϓϨʔε (ϦϓϨʔεޙʹ LIME ͱͯ͠ OSS ެ։༧ఆ) • https://www.slideshare.net/linecorp/how-does-line-effectively-handle-media- content ΍͍͖͍ͬͯͨ͜ͱ͸ଟ͍
  9. • ֤छίϯϙʔωϯτͷ౷ഇ߹ͯ͠࠷దԽΛ͍͖͍ͯͨ͠ • Storage Access ࠷దԽ • Logging ӡ༻؂ࢹϨϕϧͷ޲্ •

    Client <-> Server ͷ௨৴࠷దԽ • ഑৴஗Ԇͷվળ • MediaServer ͷϦϓϨʔε (ϦϓϨʔεޙʹ LIME ͱͯ͠ OSS ެ։༧ఆ) • https://www.slideshare.net/linecorp/how-does-line-effectively-handle-media- content ΍͍͖͍ͬͯͨ͜ͱ͸ଟ͍ ࠾༻΋