Intern2015 01

27,142 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
27,142
On SlideShare
0
From Embeds
0
Number of Embeds
23,523
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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のような大きなコードベース   – 大規模サービスを支える考え方・技術   •  スケールや安定性の面が課題   一ヶ月間ありがとうございました!

×