タグ

ブックマーク / engineering.linecorp.com (23)

  • 同時接続数30万超のチャットサービスのメッセージ配信基盤をRedis Pub/SubからRedis Streamsにした話

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog Overview 30万を超える同時接続数を持つチャットサービスにおいて、リアルタイムでメッセージの受信などのイベントを配信するメッセージブローカーとして、私たちはRedis ClusterのPub/Subを使用していました。 私たちのサービスでは、ユーザー数の増加に伴い、Redis Clusterのシャード数を増やすことでクラスターの性能を向上させてきました。しかし、Redis ClusterのPub/Subでは、シャード数の増加に伴ってネットワーク帯域が圧迫される問題が生じ、これ以上シャードを追加することができない状況になりました。 この課題を解決するために、メッセージブローカーをRedis Pub/SubからRedis

    同時接続数30万超のチャットサービスのメッセージ配信基盤をRedis Pub/SubからRedis Streamsにした話
    komlow
    komlow 2023/09/05
  • Shift-leftとShift-rightアプローチによってQAがより良い品質を確保する方法

    こんにちは。LINEでさまざまなサービスのQAを担当しているSoogwang Chaeです。私は社外のQAの方々とコミュニケーションするために、さまざまなチャネルを利用しています。今後は、LINE Engineering Blogブログを通じて多くの方と、QAに関するさまざまなテーマについてコミュニケーションをしていきたいと思っています。今回の記事では、QAが「Quality Assurance」から「Quality Assistance」「Quality Advocator」に変化してきた流れを説明します。そして、その変化の流れの中で行った「Shift-left」と「Shift-right」というアプローチによって、いかにより良い品質を確保できるようになったかについてご紹介します。 QA(Quality Assurance)はなぜ品質を保証できないのか 従来のQAでは品質の基準を設け、そ

    Shift-leftとShift-rightアプローチによってQAがより良い品質を確保する方法
  • 20億req/dayを受けるレコメンドサービスの裏話。Smart Channelが直面する問題とその対策 

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE株式会社およびヤフー株式会社は、2022年11月17日・18日の2日間にわたり、技術カンファレンス「Tech-Verse 2022」をオンライン(ライブストリーミング形式)にて開催しました。特別連載企画「Tech-Verse 2022 アフターインタビュー」では、発表内容をさらに深掘りし、発表では触れられなかった内容や裏話について登壇者たちにインタビューします。今回の対象セッションは「20億req/dayを受けるレコメンドサービスが直面する問題とその対策」です。 LINEアプリのさまざまな場所にレコメンドを届けるSmart Channelは、日・タイ・台湾の合計1億6,700万ものユーザー(MAU)に向けて、毎日1,

    20億req/dayを受けるレコメンドサービスの裏話。Smart Channelが直面する問題とその対策 
    komlow
    komlow 2023/03/14
  • MySQL のインデクスが利用されないクエリ等を自動検出する ExplainPolice の運用について

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE 株式会社 B2B Platform 開発担当フェローの Matsuno です。 LINE の Business Platform ではメインのデータベースとして MySQL を利用しています。MySQL は非常に高速に動く OSS の RDBMS なので、とても便利に利用させていただいております。 MySQL はとても高速なのですが、うっかり index を使わないクエリを発行した場合に実行がとても遅くなってしまうことがあります。LINE の Business Platform はとても多くのお客様が利用されるので、B2B としては異例なほどトラフィックが多く、少し遅いクエリが発生した結果としてサイト全体がダウンして

    MySQL のインデクスが利用されないクエリ等を自動検出する ExplainPolice の運用について
    komlow
    komlow 2022/12/16
  • LINEの大規模なData PlatformにData Lineageを導入した話

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは、Data Platform室IU Devチームの島村です。 Data Platform室では、約400ペタバイトのデータ分析基盤を運用しております。このData Platformは、「Information Universe」(以下、IU) と呼ばれており、LINEの様々なアプリケーションから生成されるデータをLINE社員が活用できるように、データの収集、処理、分析、可視化を提供しています。私が所属するIU Devチームでは、「IU Web」を開発しています IU Webは、IUのデータを安全にかつ効率的に活用できるようにするData Catalog機能を提供しており、LINEグループのあらゆるサービスか

    LINEの大規模なData PlatformにData Lineageを導入した話
    komlow
    komlow 2022/06/07
  • HBaseとKafkaによるデータパイプライン構築。LINE Messaging Platformにおける活用法

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog 2021年11月10日・11日の2日間にわたり、LINEのオンライン技術カンファレンス「LINE DEVELOPER DAY 2021」が開催されました。特別連載企画「 DEVDAY21 +Interview」では、登壇者たちに発表内容をさらに深堀り、発表では触れられなかった関連の内容や裏話についてインタビューします。今回の対象セッションは「LINE Messaging Platform におけるHBaseとKafkaのデータパイプラインと活用例」です。 LINEでは、Messaging Platformのストレージミドルウェアの1つとしてApache HBase(以下、HBase)を使用しています。HBaseのレプリケーショ

    HBaseとKafkaによるデータパイプライン構築。LINE Messaging Platformにおける活用法
    komlow
    komlow 2022/01/30
  • LINEの広告プラットフォームの分析業務を担当するチームを紹介します

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズ。今回は、LINE広告プラットフォームの分析業務を担当しているData Science室のAd Data Scienceチームを紹介します。 マネージャーの武川文則、仲村智に話を聞きました。 ※関連記事:LINE公式アカウントの分析業務を担当するチームを紹介します Ad Data Scienceチームのデータサイエンティストの皆さん まず、自己紹介をお願いします。 武川:武川です。Data Science室でLINE広告関連の分析を担当するAd Dat

    LINEの広告プラットフォームの分析業務を担当するチームを紹介します
    komlow
    komlow 2021/09/11
  • LINEの新卒採用試験ズバリ問題解説~アルゴリズム問題編~

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog (2月5日 16:30追記) SNS等で多くのご指摘をいただき、再度掲載していたコードや表現について社内で議論いたしました。それを踏まえて以下の通り、補足および訂正させていただきます。 エラトステネスのふるいの実装方法については、高速化のための実装ではなく、アルゴリズムなどの勉強をしっかり行ってきたか、ということを示すための1例として紹介しましたが、あたかも高速化を目指したコードとしての例示となり、誤解を招く表現でした。上記の意図を明確にするために、文中に高速化するための実装ではないことを明記しました。 また、"個性がない"という表現も、上記と同様に"アルゴリズムなどの勉強をしっかり行ってきたという実績や経験がコードから判断

    LINEの新卒採用試験ズバリ問題解説~アルゴリズム問題編~
    komlow
    komlow 2021/02/04
  • 【Team & Project】 Verda Platformに対する Site Reliability Engineering に関わる業務を担当しているチームを紹介します

    ―― まず、自己紹介をお願いします。 Park: LINEのプライベートクラウドであるVerda について、SRE活動をミッションとしているVerda Reliability Engineering Team(以下VRE)のマネージャーをしています。VREチームは日韓国の2拠点に跨がるチームで、その両方に対してマネジメントを行なっています。 山田:VREチームでシニアエンジニアとして働いています。クラウドインフラの開発・運用には数多くのレイヤの技術が使われていますが、その中でも特にサーバやOSといった比較的低レイヤな部分に対するSREをメインに実施しています。具体的には、OSレベルのトラブルシューティングやクラウドリソースのキャパシティ管理、物理リソースの調達に関する業務改善などがメインミッションです。 Kang: 2019年度の新卒として韓国側のチームにジョインしました。入社前は大学

    【Team & Project】 Verda Platformに対する Site Reliability Engineering に関わる業務を担当しているチームを紹介します
    komlow
    komlow 2021/01/21
  • 新卒エンジニアの仕事〜12月のインフラエンジニア編〜

    Yuki Taguchi2019-12-19Yuki is an engineer tasked with network development for Verda, LINE's private cloud platform. He investigates and tests data plane acceleration technologies. こんにちは!2019年4月に新卒入社し、Verda室のネットワークの開発チームで業務を行なっている田口と申します。Verdaとは、社内サービス向けの大規模なプライベートクラウド基盤のことで、私はこのVerdaの業務のうち、ネットワークコンポーネントの開発を行っています。 LINEでは専用ハードウェア機器をベースとしたネットワーク運用はもちろん、XDPやDPDKをベースとした、ソフトウェアによるネットワークコンポーネントの開発にも力を入れ

    新卒エンジニアの仕事〜12月のインフラエンジニア編〜
  • Adventures of Using Kafka Streams

    This is the 20th post of LINE Advent Calendar 2018. My name is Kang Yu, Senior Software Engineer of LINE Core Message Storage Team. Today I will talk about the experiences about using Kafka Streams (KStreams). 1. Requirements We are creating a real-time monitoring system, to monitor the whole traffic from internal and external users on LINE Core Messaging System related storages, and aim to find p

    Adventures of Using Kafka Streams
    komlow
    komlow 2019/05/30
  • Introducing LINE Games analytics environment

    As of October 1, 2023, LINE has been rebranded as LY Corporation. Visit the new blog of LY Corporation here: LY Corporation Tech Blog Big data and data analysis have long been popular key words in the IT world. Nowadays, they are no longer a choice but a necessity. Everyone is piling up and digging up data to find a meaning from big data. To achieve success in this "fact-finding" process, we need

    Introducing LINE Games analytics environment
    komlow
    komlow 2019/05/14
  • 仮想通貨交換所に必要なセキュリティ入門

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog これはLINE Advent Calendar2018の23日目の記事です。 皆さんこんにちは! LINE Security室の関水です! この記事は私と、同じくSecurity室の愛甲で書いています。 LINE Developer Day 2018(全セッション動画)などのイベントでも既にお伝えてしている通り、LINEではブロックチェーンを利用したサービス群の開発にも力を入れており、日米除くグローバルで取引が可能な仮想通貨交換所「BITBOX」も提供しています。特に仮想通貨は世の中にある金融サービスの中でも比較的新しいジャンルのサービスであり、セキュリティの領域でも非常に注目が集まりやすいものとなっています。そこで、この記事

    仮想通貨交換所に必要なセキュリティ入門
  • Go GC : LINE Engineering Blog

    Compaction Garbage collection can either be non-moving or moving. Non-moving GC Non-moving garbage collectors do not relocate objects in a heap. CMS, the collector Go uses, is non-moving. Generally, if you repeat memory allocation and deallocation in non-moving garbage collection, you end up with heap fragmentation, and thus lessened performance for allocation. But, of course, this will depend on

    Go GC : LINE Engineering Blog
  • Go言語のGCについて - LINE ENGINEERING

    なぜGo言語はコンパクションを採用していないのか GoogleのRick Hudson氏によるISMM 2018 Keynote “Getting To Go”を参照すると、以下のことがわかります。 2014年の時点では”Read barrier free concurrent copying GC”を計画していた しかし期間的な制約から断念し、CMSに舵を切った(この時期に彼らは、ランタイムをCからGoに書き換える作業も行う必要がありました。Changes to the runtime) TCMallocをベースとしたメモリアロケーターを採用することで、断片化およびアロケーションの速度の問題を解決した Go言語のメモリアロケーションについては、ランタイムのコードのコメントにも詳しく記載されています。 malloc.go This was originally based on tcmal

    Go言語のGCについて - LINE ENGINEERING
  • テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 - Testing & Engineering - LINE ENGINEERING

    テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 – Testing & Engineering By Hiroyuki Ito | 2018.07.09 2021.01.08LINE株式会社のSET(Software Engineer in Test)です。「SETタスクフォース」(以下「SETチーム」と表記)のリーダーとして、主にLINEプラットフォームのサーバーサイドで、テスト自動化を活用したプロダクト開発ライフサイクルの改善を立案・実施・主導しています。また、アジャイルコーチも兼務しています。 はじめに こんにちは。LINE株式会社のSET(Software Engineer in Test)の伊藤 宏幸(Hiroyuki Ito)です。 2018年6月27日(水)に、電気通信大学の西 康晴さん(以下「にしさん」と表記)をお招きして、「

    テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 - Testing & Engineering - LINE ENGINEERING
  • 25K request/secをさばいた「LINEのお年玉」のアーキテクチャの裏側 - LINE ENGINEERING

    みなさんこんにちは、LINEのサーバーサイドエンジニアの長谷部です。普段は、最近でいうとLINE Login や LINE Customer Connect などの開発を担当しています。 2018年の年始に LINEのお年玉 というイベントを実施し、その開発を担当しました。今回の記事では、LINEのお年玉のアーキテクチャの紹介や、当日実際に発生した問題(サービス過負荷起因のkafka consumer遅延)などの振り返りについて書こうと思います。 LINEのお年玉とは お年玉イベント期間中に、お年玉とLINEスタンプをセットで「お年玉つきスタンプ」として販売しました。対象スタンプを購入したユーザーさんは、スタンプ購入数 x 10個 のお年玉が付与されます。 こういったメッセージが受信されます ユーザーは自分がもっているお年玉を友だちに直接送ったりグループに送信することができ、お年玉を受け取

    25K request/secをさばいた「LINEのお年玉」のアーキテクチャの裏側 - LINE ENGINEERING
    komlow
    komlow 2018/02/13
  • レイテンシーを計算する技術の話 - LINE ENGINEERING

    こんにちは、LINEメッセンジャーのサーバーサイドとモニタリングプラットフォームの開発を担当しているフィ(@dxhuy)です。この記事はLINE Advent Calendar 2017の20日目の記事です。 今日は、モニタリングシステムでよく使うレイテンシーやその計算方法などについて紹介したいと思います。LINEでは、日々ユーザが楽しくメッセージを送れるように、システムの安定性を第一に考えています。安定したシステムを保つためにたくさんの指標を見守る必要がありますが、その指標の1つが「レイテンシー」です。 ウィキペディアでは、レイテンシーは以下のように定義されています。 デバイスに対してデータ転送などを要求してから、その結果が返送されるまでの不顕性の高い遅延時間のこと インターネットサービスにおいては、レイテンシーは基的に「レスポンスタイム」のことです。つまり、リクエストを受けてからレス

    レイテンシーを計算する技術の話 - LINE ENGINEERING
  • Akka HTTPの仕組みを理解する - LINE ENGINEERING

    初めまして、Ads Platform開発チームの岡田(@ocadaruma)です。 この記事はLINE Advent Calendar 2017の17日目の記事です。 今回、個人的に以前から気になっていたAkka HTTPの内部構造について、この機会に調べましたので紹介いたします。 Akka HTTPとは Akka HTTPは、Lightbend社によって開発されている、Scala/Java用のHTTP toolkitです。 現在はメンテナンスが終了したsprayの後継と位置付けられており、特徴的なRouting DSLをsprayから受け継いでいます。 また、Play Frameworkは2.6系より、Akka HTTPをデフォルトのバックエンドとして採用しています。 調査のきっかけ Routing DSLを始めとしたAkka HTTPのAPIは、シンプルかつ高いComposabilit

    Akka HTTPの仕組みを理解する - LINE ENGINEERING
  • RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING

    ! This post is also available in the following languages. 英語, 韓国語 みなさんこんにちは、LINE LIVE開発のYappoです。 今回は先日リリースされました一般向けのPC配信機能を実装するときに作った簡易的な遅延実行Queueについて書いていこうと思います。 関連エントリ:LIVE PRESS 公式ブログ – ゲーム実況にもぴったり!LINE LIVEでPC横型ライブ配信を試してみよう 背景 今までのLINE LIVEでの配信方法としては、アプリ上で直接配信する方法と、公式アカウント向けの専用画面(LINE OFFICIAL ACCOUNT MANAGER)とRTMPソフト(もしくは専用機材)を利用してPCからの配信する方法がありました。 この2つの方法は全く違う仕組みで実装されるように見えますが、実は基となる設計は同じで

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