LINE Engineering
Blog

  • API the Docs参加レポート
    Serizawa 2018.05.17

    LINEプラットフォームの開発者向けドキュメントを担当しているテクニカルライターです。

    はじめに

    こんにちは。テクニカルライターのSerizawaです。LINEには、エンジニアが最新の技術動向を把握できるよう、海外で開催されるカンファレンスに会社負担で参加できる制度があります。今回の記事では、その制度を利用して参加してきたAPIドキュメンテーションのカンファレンス「API the Docs」の様子をご報告します。

    API the Docsは、テクニカルライター、API開発者、プロダクトオーナー、エバンジェリスト向けに年に数回世界各地で開催されている、APIドキュメンテーションに特化したイベントです。デベロッパーエクスペリエンスの重要な要素であるドキュメンテーションについて、最新のベストプラクティスやトレンドについて知見を共有し、意見を交換する場になっています。

    Technical writing

    もっと見る

  • LINE Game Cloudの例に見る関数型言語の特徴
    Bu Sung Kim, Jae Ho Lee 2018.03.05

    Busung Kim:LINEでGame Promotion Platformの開発を行っています。プログラミング言語に大変興味があり、最近、Kotlinの勉強を始めました。 Jaeho Lee:LINEでGame Tech PMを務めています。最近はJavascriptに関心があります。

    こんにちは。LINEでゲームプラットフォーム開発を担当しているジュニア開発者のBusung Kim、Jaeho Leeです。LINE Game Cloudが関数型プログラミング言語の一つであるClojureで実装されているのを見て、関数型言語に興味を持つようになりました。本記事では、LINE Game Cloudの例に見る関数型言語の特徴をいくつかご紹介したいと思います。

    LINE Game Cloudと関数型プログラミング言語

    LINEは、グローバルにゲームサービスを安定して提供するため、LINE Game Cloudというクラウドベースのゲームサーバープラットフォームを構築・運用しています。LINE Game Cloudは、サービスのグローバル化やリリースプロセスの自動化を目指して始まったプロジェクトです。現在、同プラットフォームを通じて世界各地のユーザにゲームサービスが提供され、サーバーの自動手配、L4/L7ルーティング、DNS、自動スケールといった対応が行われています。プロジェクトの詳細については、下記ページからご確認いただけます。

    Functional Programming LINE Game Cloud Clojure Server

    もっと見る

  • 25K request/secをさばいた「LINEのお年玉」のアーキテクチャの裏側
    Ryosuke Hasebe 2018.02.13

    みなさんこんにちは、LINEのサーバーサイドエンジニアの長谷部です。普段は、最近でいうとLINE LoginLINE Customer Connect などの開発を担当しています。

    2018年の年始に LINEのお年玉 というイベントを実施し、その開発を担当しました。今回の記事では、LINEのお年玉のアーキテクチャの紹介や、当日実際に発生した問題(サービス過負荷起因のkafka consumer遅延)などの振り返りについて書こうと思います。

    Prometheus Kafka Fluentd

    もっと見る

  • Prometheusをサービスとして提供する
    Paul Traylor 2017.12.25

    現在、開発者向けの便利なサーバーモニタリングシステムと通知システムの構築に携わっています。

    こんにちは。LINE Fukuoka開発チームのPaul Traylorです。LINEファミリーアプリを支えるたくさんのサーバーのモニタリングを担当しています。この記事はLINE Advent Calendar 2017の25日目の記事です。

    ほとんどの開発者にとって興味深いことといえば、コード作成や新機能の追加ではないかと思います。しかし機能が正常に動作しないときは、原因がわかれば役に立ちますよね。とはいえ、開発者が自分自身でモニタリングの設定を行うのは、そう簡単ではないときもあります。そこで私は、最高のパフォーマンスのためあらゆるサービスをモニタリングできるように、モニタリングの設定管理を簡単にすることに取り組んでいます。その一環として開発されたのが、Prometheusの設定を管理するためのツールであるPromgenです。これを利用すれば、モニタリングターゲットを簡単に登録したり、担当サービスのアラートを購読したりできます。

    モニタリングの設定

    ほとんどのサービスは導入時にはシンプルで小規模なものですが、時間が経つにつれ、数百台のサーバーにまたがる数十ものコンポーネントで構成されるようになります。そうした中でモニタリングを設定するのは容易なことではありません。そこでPromgenは、あらゆる設定を1箇所でまとめて行い、一目で確認できるように開発されました。

    targets

    Prometheus Promgen AdventCalendar

    もっと見る

  • レイテンシーを計算する技術の話
    Do Xuanhuy 2017.12.20

    こんにちは、LINEメッセンジャーのサーバーサイドとモニタリングプラットフォームの開発を担当しているフィ(@dxhuy)です。この記事はLINE Advent Calendar 2017の20日目の記事です。

    今日は、モニタリングシステムでよく使うレイテンシーやその計算方法などについて紹介したいと思います。LINEでは、日々ユーザが楽しくメッセージを送れるように、システムの安定性を第一に考えています。安定したシステムを保つためにたくさんの指標を見守る必要がありますが、その指標の1つが「レイテンシー」です。

    ウィキペディアでは、レイテンシーは以下のように定義されています。

    デバイスに対してデータ転送などを要求してから、その結果が返送されるまでの不顕性の高い遅延時間のこと

    インターネットサービスにおいては、レイテンシーは基本的に「レスポンスタイム」のことです。つまり、リクエストを受けてからレスポンスを返すまでにかかる時間がレイテンシーです。

    AdventCalendar

    もっと見る