Using LINE Notify to send messages to LINE from the command-line

Foreword

Hi, my name is Watanabe and I’m in charge of the development of LINE Notify. In this post, I’d like to share how developers can use LINE Notify to send messages to LINE straight from the command-line.

Up until now sending system messages to LINE either required a Bot API Trial or Business Connect account. While both are improved by Messaging API and provide many great features, they require a high level of implementation.

LINE Notify is an API that has a limited set of features, streamlining the whole process of sending messages to LINE.

Sending messages using cURL

By generating your own “personal access token” through LINE Notify, you can send messages by sending an HTTP POST request to the API endpoint. Any method can be used as long as it uses an HTTP request. In this post, let’s go over how you can use the HTTP client cURL.

The architecture behind chatting on LINE LIVE

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 Developer Day 2016 recap

Hello, this is Momoki from the LINE Developer Day preparation committee.
LINE Developer Day has always been a gathering place for sharing various technological experiences and global challenges and trends, and LINE Developer Day 2016 has just successfully come to a close.
You’ve shown us a great amount of support by registering for the event, so much so that we could only invite a few that were selected from a draw.
We regret that we could only invite about 1000 of you to the event but we thank you all for showing tremendous support all the same!

Applying Kafka Streams for internal message delivery pipeline

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:

The next step for even safer messaging: Letter Sealing

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.

Applying CircuitBreaker to Channel Gateway

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.

Report on Prometheus Casual Talks in Tokyo and then toward PromCon 2016

Introduction

Hello, my name is Wataru Yukawa. I work at LINE as a data engineer.

As a data engineer, my daily duties include using Fluentd to collect logs, Hadoop to accumulate, and Hive to aggregate and analyze logs. Our Hadoop cluster is medium-sized, consisting of 40 units and approximately 370TB of DFS used space. Data from LINE family apps is smaller compared to the LINE app. While it’s nowhere near large enough to be considered as big data, it still has many types of different data, Fluentd tags, and over 400 Fluentd processes due to the various LINE family services tied to it. The Fluentd data flow amounts to 150 thousand messages per second during peak times.

Introducing the LINE Game AirBorne DataCenter

Last time I posted an article titled, “Analyzing Large Amounts of Security Data with Spark, Mesos, Zeppelin, and HDFS.” Today I will introduce how LINE applies cloud and stream processing technology to perform near-real-time processing on game data detected by AirArmor1.

1: AirArmor is a security solution for mobile games developed by LINE.

AirBorne DataCenter & Mesos (with DC/OS)

To analyze security data, we built our own system named AirBorne DataCenter. The system uses Apache Mesos as its base framework. And to process big data efficiently, the system implements open source components such as Kafka, Spark, Elasticsearch, Hadoop, Zeppelin, and Spring.

Circuit breakers for distributed services

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.