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.