Category Archives: Back-End

Redis Lua scriptingをatomicな処理とcache stampede対策に使った話

こんにちは。LINEでゲームプラットフォーム開発をしているKagayaです。この記事はLINE Advent Calendar 2017の18日目の記事になります。昨年新卒入社1年目で執筆した「マイクロサービスのためのプロジェクト生成ツールLazybonesを使ってみた」に引き続き、今年もAdvent Calendarの記事を書くことになりました。よろしくお願いします。

はじめに—RedisとLINE GAMEプラットフォーム

LINE GAMEプラットフォームでは、インメモリNoSQLデータベースであるRedisをメインデータベースの1つとして利用しています。キャッシュとしての利用が多く、例えば、LINEやFacebookなどのアカウントで認証を行っているユーザのソーシャルデータ(プロフィールや友だちリストなど)のキャッシュに利用しています。基本的にはRedis Clusterとして利用しており、開発環境では共通のクラスタを、本番環境ではゲームごとに独立のクラスタを組んで運用しています。

大規模サービスLINE LIVEのためのエンコーダレイヤ構造と悩んだこと

はじめに

こんにちは。LINE ITSC所属のエンジニア、Kim Suhyukです。これはLINE Advent Calendar 2017の16日目の記事です。

先日12月10日に、LINE LIVEサービスがリリースされてからちょうど2年が経ちました。リリース以来障害なく運営できて、とてもよかったと思っています。私はライブメディアサービスの構築や運営の経験がなかったため、今回の記事では、設計や構築を始めるときに悩んだ点についてまとめてみました。

背景および課題

LINE LIVEは、いつでも誰でもライブ配信できるサービスとして、予測を超える数のユーザーが利用したとしても円滑にライブを配信・視聴できる必要があります。そのため、以下の条件を満たす構造が必要と考えました。

LINE STOREにおけるテスト自動化の取り組み

この記事はLINE Advent Calendar 2017の7日目の記事です。

こんにちは、LINE FukuokaでLINE STOREのサーバーサイド開発をしているHiraiです。本日は、LINE STOREにおけるテスト自動化の取り組みを紹介したいと思います。

LINE STOREとは

LINE STOREというサービスをまだご存じでない方もいらっしゃると思いますので、まずはその紹介から。

LINE STOREは、LINEのスタンプや着せかえ、ゲームやファミリーサービス(LINEプレイ、LINEマンガ、LINE占い、LINE LIVEなど)の通貨を購入できるウェブのサービスです。購入したスタンプや着せかえをLINEの友だちにプレゼントできたり、クレジットカード以外(キャリア決済、LINEプリペイドカードなど)の決済手段を使用できたりなど、LINE STORE独自の機能もあります。

今年になって、公式アカウントを友だち追加したり無料スタンプが取得したりできる機能も追加されました。日々コンテンツが充実してきていますので、ぜひ一度アクセスしてみてください。

LINE STORE

RxJava 2とArmeriaでマイクロサービスを非同期化してみた

こんにちは、LINEメッセンジャーのサーバーサイド開発チームに所属してスタンプや着せかえに関連する開発を担当している川田(@hktechno)です。この記事はLINE Advent Calendar 2017の2日目の記事です。

私が所属しているチームは、数年前からマイクロサービス化されたサービスのRPC(Remote Procedure Call)やDBアクセスを非同期化し、レイテンシの削減やサーバーリソースの省力化に勤しんできました。最近は、LINE内部で開発しているRPCサーバーArmeriaRxJava 2を使って、“Javaにしては”なかなかイケている内部構成になってきました。この記事では、そんな私達のチームで開発しているスタンプ・着せかえ関連サーバーの裏側についてご紹介したいと思います。

LINE Shop Architecture

HBase アプリケーションローカルテスティング

こんにちは、LINEでGame Platformを開発している 趙 です。LINEではHBaseを様々な場面で活用しており、今回はGame Platformでの利用例を紹介させていただきます。

LINE Game PlatformはHBaseをメインストレージとして利用します。私達が新規の機能開発時にHBaseを利用する場合、ローカル開発環境におけるユニットテストなどのアプリケーションテストは専用のリモートクラスターで実行されるHBaseに接続していました。リモートクラスターはHadoopアドミニストレータが構築、管理してくれます。チームメンバーとHBaseを使ったアプリケーションの数が増えるにしたがい、このテスト方式は以下に示す問題があり、不便に感じていました。

Beaconを利用したgeo-linkedアプリケーション

こんにちは。LINE TaiwanでLINE Beaconプラットフォームのビジネス開発・企画を担当しているCharlotte Yuです。

私は最近、LINE Beaconの位置認識技術を活用する方法について模索しています。LINE Beaconの位置認識技術は、LINEが目指す「スマートポータル(Smart Portal)」を実現し、人と人、人と情報、人とサービスとの距離を縮める「CLOSING THE DISTANCE」のミッションを達成する上で重要な役割を果たすことになります。

今はまだ初期段階ですので、Beaconを着実に普及させ、ユースケースを提案することでユーザ認知度や利用率を高めることに注力しています。

私たちの戦略は、LINE Beaconプラットフォームを台湾で人気の高いLINEの他のサービス・機能と連携し、台湾の膨大なLINEユーザに提供することです。そして今後、位置認識がモバイル技術の発展をけん引する原動力になるとの判断から、私たちはできるだけ多くの場所にLINE Beaconを設置するようにしてBeaconネットワーク構築に取り組んでいます。これら二つの要素、すなわち台湾におけるLINEの高い浸透率とLINE Beaconの位置認識技術の正確さは、実世界とオンラインでの行動が統合されたO2O(Online to Offline)エコシステムを構成する柱といえます。

O2Oメッセージングを利用すると、オンラインプラットフォームとオフライン店舗をつなげることができます。O2Oの目標は、ほとんどの時間をオンラインマーケットやオンラインプラットフォームで過ごす消費者をオフライン店舗へと誘導すること。オンラインクーポンやメンバーシップカードを提供し、近接マーケティングを展開するのはそのためです。そこで私たちは、様々なBeaconアプリケーションを制作し、バーチャル世界を実世界にまで広げてくれるオンライン-オフラインのネットワークを構築しています。

売上げを伸ばす目的で、O2OとBeaconを通じて、日常的に使われるモノやサービスにLINEクーポン、LINEポイント、LINEショップカードといった機能を連携することが考えられます。たとえば、近くにいるLINEユーザにGeoAD(geo-linked advertisements)をプッシュして店舗をPRし、公式アカウントやLINE@アカウントなどLINEビジネスアカウントでイベントを実施することができます。そして、LBS(location-based service、位置情報サービス)基盤のクーポンやスタンプを活用してLINEユーザの来店を促します。その結果、LINE@アカウント運用者は、屋内ナビゲーション、お買い物ガイドなどのLBS add-onを提供することで、ユーザ経験を改善し、顧客維持率を向上させることができます。

RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話

みなさんこんにちは、LINE LIVE開発のYappoです。
今回は先日リリースされました一般向けのPC配信機能を実装するときに作った簡易的な遅延実行Queueについて書いていこうと思います。
関連エントリ:LIVE PRESS 公式ブログ – ゲーム実況にもぴったり!LINE LIVEでPC横型ライブ配信を試してみよう

JANOG39登壇レポート「LINEのインフラを運用して見えてきた課題」

こんにちは。LINEでネットワークやデータセンターを担当している三枝です。2017年1月にJANOG39で登壇する機会を頂きましたので、今回はその内容をレポートしたいと思います。
テーマはLINEのインフラについてです。LINEのサービス開始から現在までインフラの課題とその対応についてお話しました。

LINE Engineer Insights vol.1 「LINE BOT 育ての親に聞く、LINEの誕生と成長」

LINEで働くエンジニアに色々と話を聞いていく新コーナー「LINE Engineer Insights」をスタートいたします。インタビュアーにはLINEで働くエンジニア @tokuhirom を迎え、エンジニア同士でざっくばらんにお話を伺っていきます。LINEのエンジニアは一体どんな人達なのか、その内面に迫っていきたいと思います。

今回は、開発1センター LINE開発室 B Partチーム所属の熊井に、コミュニケーションアプリ「LINE」の誕生時のことや現在担当されているLINE BOTのバックエンドの話などを聞いてきました。