LINE Engineering
Blog

  • The architecture behind chatting on LINE LIVE
    Hagiwara Go (Oklahomer) 2016.10.26

    This is Oklahomer from LINE Corp.

    This is Oklahomer from LINE Corp. In this post, I'd like to explain the architecture behind the chatting function of LINE LIVE, a video streaming service.

    Introduction

    LINE LIVE for iOS and Android has a chat feature that lets its users send comments in real-time while they are watching a live-streaming video. This not only lets users (or viewers in this case) communicate with each other, but it also lets the streamers connect with their viewers. Streamers can chat with their viewers back and forth, and sometimes plan their videos according to what the viewers say in the chat. This is why the chat is an integral part of the streaming experience.

    As you can probably imagine, celebrity live streams attract a large number of viewers, and along with them a torrent of comments. Comments sent to the stream must be simultaneously broadcast to every other viewer, and effectively distributing the load has always been one of our top-priority tasks. There are sometimes 10,000 comments sent per minute on just one stream alone.

    We took the possibility of large amounts of comments into consideration when we were developing LINE LIVE and presently have over 100 server instances in operation for the chat feature.

    LINE LIVE Architecture

    Read More

  • Applying Kafka Streams for internal message delivery pipeline
    Kawamura Yuto 2016.08.19

    He is an engineer working at LINE. He is in charge of developing and managing LINE's core data pipeline and storage which are built on top of some OSS technologies such as Apache Kafka

    Introduction

    Hello, my name is Yuto Kawamura. I'm a LINE server engineer in charge of developing and operating LINE's core storage facilities such as HBase and Kafka.

    Since the latter half of last year, I've been working on a new project called IMF, which stands for Internal Message Flow (or Fund). IMF has two main goals:

    • Develop a data pipeline which provides a unified way of delivering events between our systems.
    • Replace talk-dispatcher, a component in the LINE server system responsible for background task processing.

    The two goals may seem unrelated, but we're actually trying to adopt the same technologies for both; Apache Kafka and stream processing. Apache Kafka is a high-throughput distributed messaging system that was originally developed and used at LinkedIn. Although Kafka has various unique features, the most important ones are the following:

    Read More

  • The next step for even safer messaging: Letter Sealing
    Shin Kibin 2016.08.12

    He is a LINE engineer working on the messaging server.

    In New generation of safe messaging: “Letter Sealing”, we announced that end-to-end encryption (E2EE) has been made available on LINE messages.

    But we've made even more improvements to safe messaging over the past few months, expanding Letter Sealing to features other than one-on-one chats. We'd like to share some of them here in this post.

    Letter Sealing

    Read More

  • Applying CircuitBreaker to Channel Gateway
    Shin Jong Hun 2016.08.05

    I don’t like being inconvenienced. One of the focal points of my work is to reduce these inconveniences so I have more time to focus on what matters. I think that’s why I like programming. Although I can’t really figure out why I seem to be getting busier with time…

    Before reading

    If you have yet to read the introductory article to circuit breakers, I recommend you read the following article first: Circuit Breakers for distributed services

    Applying CircuitBreaker to Channel Gateway

    Channel Gateway servers provide various LINE server features to content providers. This is why Channel Gateway servers are highly affected by the servers they are connected to, with the effects easily spreading across all Channel Gateway servers.

    CircuitBreaker

    Read More

  • Circuit breakers for distributed services
    Ono Yuichi 2016.07.25

    He is a LINE engineer.

    Hello, my name is Ono and I'm a LINE engineer. In this blog post, I'd like to talk about "circuit breakers" which we use with our LINE servers.

    What is a Circuit Breaker?

    The backend server systems for various web services and apps including LINE consist of networks that have several services connected with each other through APIs and RPCs.

    What would happen if one of these networks suddenly failed to respond? The downed services would be blocked until they time-out, and all other services that rely on the blocked service would start a chain reaction of failures. If no one has been keeping an eye on the entire network, it will take a long time to figure out which service is the root cause.

    CircuitBreaker

    Read More