Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Intern2015 01

40,504 views

Published on

LINE 2015 エンジニアインターン

Published in: Technology
  • Be the first to comment

Intern2015 01

  1. 1. LINE インターン 最終発表 所属部署 : 開発1センター
  2. 2. テーマ •  RedisCallTrackerのログ可視化ツール   •  RedisCallTrackerのログ回収パイプライン  
  3. 3. RedisCallTrackerとは? •  talk-­‐serverに対するAPIコールによって発行さ れるRedisクエリのトラッキングシステム ※talk-­‐server:  LINEメッセンジャーアプリのコアビジネスロジックを担 当するサーバー
  4. 4. Redis メッセージ配信の流れ APIコール   Redisクエリ talk-­‐server Aさん sendMessage GET  a:contactList   SET  b:messageBox   RPUSH  jobq:poprev   •  一度のAPIコールで複数のRedisクエリを発行   •  例)  sendMessageでは、一度のAPIコールで平均 15.3回のRedisクエリを発行している  
  5. 5. 現状 •  コードの抽象化   – Redisへ直接クエリを送る部分が隠蔽されている   •  ロジックの複雑化   – 1つのAPIコールがたくさんのRedisクエリを生み出 す   •  負荷管理の重要性の増大 – 安定したサービス提供を持続するために  
  6. 6. テーマ •  RedisCallTrackerのログ可視化ツール   – ログをもっと見やすく、分析しやすく   •  RedisCallTrackerのログ回収パイプライン   – talk-­‐serverから自動的にログを集める   – 将来的な拡張性・安定性のために、Apache  Ka^a をログ配信に使用  
  7. 7. 可視化ツール紹介
  8. 8. 可視化ツール紹介 •  ストリーミングでログデータ を取得   •  何ms以上でスロークエリと するかを指定可能   •  重複クエリやスロークエリ が含まれているログをわか りやすく表示
  9. 9. アーキテクチャ&技術スタック
  10. 10. アーキテクチャ
  11. 11. NEXT  STEP…
  12. 12. Next  Step •  安定性のあるシステムの構築   – 操作ミスなどでログ量が莫大になったときにどう するか…?   •  大規模解析を見据えた設計   – 将来的にログが活用できる可能性…   •  例)リリースバージョン毎の品質チェック  
  13. 13. Next  Step①
  14. 14. Next  Step②
  15. 15. まとめ •  Redisのログ解析が簡単になった   •  初めてのことが多く、すごく勉強になった   – Scala,  Play,  Ka^a,  アクターモデル,  etc…   – talk-­‐serverのような大きなコードベース   – 大規模サービスを支える考え方・技術   •  スケールや安定性の面が課題   一ヶ月間ありがとうございました!

×