Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Agenda - What is LINE LIVE - LINE LIVE Chat System - Architecture Introduction - Diversion of new architecture - For even safer operation - How are the results

Slide 3

Slide 3 text

What is LINE LIVE - LIVE Streaming service - Streams from celebrities, companies and other users - Support the broadcaster with cheer items and free hearts - Communication using chat comments - Real time is important

Slide 4

Slide 4 text

- LIVE Streaming service - Streams from celebrities, companies and other users - Support the broadcaster with cheer items and free hearts - Communication using chat comments - Real time is important What is LINE LIVE

Slide 5

Slide 5 text

LINE LIVE Chat System Core Part Introduction

Slide 6

Slide 6 text

- Parallel processing using Akka - Client-to-Server communication using WebSocket - Server-to-Server communication using Pub/Sub of Redis - Temporary storage of chat data in Redis - Permanent storage of chat data in MySQL from Redis - Control comments by user or system configuration LINE LIVE Chat System Core Part Introduction

Slide 7

Slide 7 text

- Parallel processing using Akka - Client-to-Server communication using WebSocket - Server-to-Server communication using Pub/Sub of Redis - Temporary storage of chat data in Redis - Permanent storage of chat data in MySQL from Redis - Control comments by user or system configuration LINE LIVE Chat System Core Part Introduction

Slide 8

Slide 8 text

Architecture Introduction How to distribute the configuration in a LINE LIVE Chat System

Slide 9

Slide 9 text

Conventional Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Broadcaster Block LIVE Viewer A Send comments Save the block info MySQL Send the block info WebSocket MySQL local cache or MySQL Save the block info Internal API Chat No comments will be sent Other LIVE Viewer LINE LIVE API No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer LIVE Viewer A

Slide 10

Slide 10 text

Conventional Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Broadcaster Block LIVE Viewer A Send comments Save the block info MySQL Send the block info WebSocket MySQL local cache or MySQL Save the block info Internal API Chat No comments will be sent Other LIVE Viewer LINE LIVE API No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer LIVE Viewer A

Slide 11

Slide 11 text

Conventional Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Broadcaster Block LIVE Viewer A Send comments Save the block info MySQL Send the block info WebSocket MySQL local cache or MySQL Save the block info Internal API Chat No comments will be sent Other LIVE Viewer LINE LIVE API No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer LIVE Viewer A

Slide 12

Slide 12 text

Conventional Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Broadcaster Block LIVE Viewer A Send comments Save the block info MySQL Send the block info WebSocket MySQL local cache or MySQL Save the block info Internal API Chat No comments will be sent Other LIVE Viewer LINE LIVE API No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer No comments will be sent Other LIVE Viewer LIVE Viewer A

Slide 13

Slide 13 text

What’s happened Why do we need a new architecture?

Slide 14

Slide 14 text

Chat decoration

Slide 15

Slide 15 text

Chat decoration

Slide 16

Slide 16 text

New Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Viewer Set chat decoration Send comment Update chat decoration settings Set chat decoration WebSocket Redis Subscribe & local cache Publish Internal API Chat Decorated comment Other LIVE Viewer LINE LIVE API Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer MySQL

Slide 17

Slide 17 text

New Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Viewer Set chat decoration Send comment Update chat decoration settings MySQL Set chat decoration WebSocket Redis Subscribe & local cache Publish Internal API Chat Decorated comment Other LIVE Viewer LINE LIVE API Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer

Slide 18

Slide 18 text

New Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Viewer Set chat decoration Send comment Update chat decoration settings MySQL Set chat decoration WebSocket Redis Subscribe & local cache Publish Internal API Chat Decorated comment Other LIVE Viewer LINE LIVE API Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer

Slide 19

Slide 19 text

New Architecture How to distribute the configuration in a LINE LIVE Chat System API LIVE Viewer Set chat decoration Send comment Update chat decoration settings MySQL Set chat decoration WebSocket Redis Subscribe & local cache Publish Internal API Chat Decorated comment Other LIVE Viewer LINE LIVE API Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer Decorated comment Other LIVE Viewer

Slide 20

Slide 20 text

Diversion of new architecture Use cases where the new architecture can be assumed to be diverted

Slide 21

Slide 21 text

Diversion of new architecture Use cases where the new architecture can be assumed to be diverted API Publish system notification Save system notification MySQL Publish system notification WebSocket Redis Subscribe Publish Internal API Chat Send system notification LIVE Viewer LINE LIVE API Send system notification LIVE Viewer Send system notification LIVE Viewer Send system notification LIVE Viewer Send system notification LIVE Viewer Internal CMS

Slide 22

Slide 22 text

Diversion of new architecture Use cases where the new architecture can be assumed to be diverted API Send system notification Save system notification MySQL Send system notification WebSocket Redis Subscribe Publish Internal API Chat Send system notification LIVE Viewer LINE LIVE API Send system notification LIVE Viewer Send system notification LIVE Viewer Send system notification LIVE Viewer Send system notification LIVE Viewer Internal CMS

Slide 23

Slide 23 text

Diversion of new architecture Use cases where the new architecture can be assumed to be diverted API Publish system notification Save system notification MySQL Publish system notification WebSocket Redis Subscribe Publish Internal API Chat Send system notification LIVE Viewer LINE LIVE API Send system notification LIVE Viewer Send system notification LIVE Viewer Send system notification LIVE Viewer Send system notification LIVE Viewer Internal CMS

Slide 24

Slide 24 text

For even safer operation Improving the fault tolerance of Redis Subscribe

Slide 25

Slide 25 text

Redis Subscribe health check Improving the fault tolerance of Redis Subscribe Redis Subscriber Subscriber Subscriber Subscriber Subscriber Listen Listen Listen Listen Listen

Slide 26

Slide 26 text

Redis Subscribe health check Improving the fault tolerance of Redis Subscribe Redis Subscriber Subscriber Subscriber Subscriber Subscriber Listen Listen failed Listen Listen Listen

Slide 27

Slide 27 text

Redis Subscribe health check Improving the fault tolerance of Redis Subscribe Redis Subscriber Subscriber Subscriber Subscriber Subscriber Listen Listen failed Listen Listen Listen Publish (ping)

Slide 28

Slide 28 text

Redis Subscribe health check Improving the fault tolerance of Redis Subscribe Redis Subscriber Subscriber Subscriber Subscriber Subscriber Subscribe (ping) Subscribe (ping) failed Subscribe (ping) Subscribe (ping) Subscribe (ping) Publish (ping)

Slide 29

Slide 29 text

Redis Subscribe health check Improving the fault tolerance of Redis Subscribe Redis Subscriber Subscriber Subscriber Subscriber Subscriber Listen Reconnect Listen Listen Listen

Slide 30

Slide 30 text

How are the results - So far, we've been able to operate without any major problems. - New features are ready to be implemented quickly using this architecture. - The new feature has been well received by users.

Slide 31

Slide 31 text

Thank you