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.
TV連動サービスの
リアルタイム通知を支える技術
2014/01/14
テレビ連動サーバ勉強会vol1
Tsuyoshi Torii (@toritori0318)
Bascule Inc.
自己紹介
鳥居 剛司 @toritori0318
株式会社バスキュール
TV連動プラットフォームサーバ開発/運用
Lua / Python / Golang / Node.js / Perl / Ruby
二児の父
アジェンダ
MIESについて
Sonicshooter基本機能/事例紹介
Sonicshooter詳細構成/特徴
お試し構成デモ
まとめ
アジェンダ
MIESについて
Sonicshooter基本機能/事例紹介
Sonicshooter詳細構成/特徴
お試し構成デモ
まとめ
MIES
MIES
アジェンダ
MIESのご紹介
Sonicshooter基本機能/事例紹介
Sonicshooter詳細構成/特徴
お試し構成デモ
まとめ
SonicShooter機能
ユーザ管理/認証
Push機能
フレンド配信
ブロードキャスト配信
Sync機能(New!)
P2Pっぽく、特定デバイスとの同期をリアルタイムに行う
Pull機能
フレンドタイムライン
パブリックタイムライン
ブロ...
SonicShooter機能
ユーザ管理/認証
Push機能
フレンド配信
ブロードキャスト配信
Sync機能(New!)
P2Pっぽく、特定デバイスとの同期をリアルタイムに行う
Pull機能
フレンドタイムライン
パブリックタイムライン
ブロ...
すごいTwitter っぽい
番組事例
事例: BloodyTube
紹介ムービー
プロジェクト構成概要
アジェンダ
MIESについて
Sonicshooter基本機能/事例紹介
Sonicshooter詳細構成/特徴
お試し構成デモ
まとめ
Elastic Socket.ioクラスタ
S2構成
S2構成
特徴
同時数百万接続
HTTPS対応
特定ユーザ(グループ)に対して通知
動的にノード追加可能
Weighted load balancing
複数インスタンスタイプ対応
特定ユーザへ通知
動的にノード追加
ノード取得
Weighted load balancing
複数インスタンスタイプ対応
その他工夫しているところ
クライアントのフォールバックの仕組み
ハートビートが切れたら生きているノードを探しに行く
別ノードへ再接続
ソケットが切れている最中は、ポーリング間隔を短くする
アジェンダ
MIESについて
Sonicshooter基本機能/事例紹介
Sonicshooter詳細構成/特徴
お試し構成デモ
まとめ
Docker+socket.ioデモ
Socket.ioも気軽にスケール出来たらいいよね
Socket.ioをDockerコンテナ化して、ポコポコ増やしてみる
スケールアウト/スケールインしたときに問題なく接続/再接続さ
れる仕組み
昨日、さく...
Docker+socket.ioデモ
Socket.io ロードバランサ問題
ハンドシェイク > アップグレード の2回アクセス問題
公式はIP Hashで実現しているが、Sticky Sessionでやりたい
※もっというと、コネクション数見...
補足:sio-clientのsticky session
補足:Lua – sioノード決定コード
デモ構成
デモムービー
アジェンダ
MIESについて
Sonicshooter基本機能/事例紹介
Sonicshooter詳細構成/特徴
お試し構成デモ
まとめ
まとめ
TV連動のリアルタイム通知を行うサービス/実装
/実例の紹介
バージョンアップに向けてのデモンストレーション
まだまだ改善したいところたくさんある
ポエム
TV連動企画、人事ではない
基本的には同じような企画が多いし、知見共有出来るところはたく
さんあるはず
もっとこういう機会をふやしてこの業界全体の底上げしていきたい
もし次回があるなら聞きたい〜
サーバ運用
チート対策
集計
対談
宣伝その1
エンジニアサポート
CROSS 2015 に登壇しま
す!
はやぶさ2開発者に聞く
~一度きりのテスト対策~
http://2015.cross-party.com/program/x1
宣伝その2
ご清聴ありがとうございました
TV連動サービスのリアルタイム通知を支える技術
Upcoming SlideShare
Loading in …5
×

TV連動サービスのリアルタイム通知を支える技術

7,842 views

Published on

テレビ連動サーバ勉強会で発表した資料です http://connpass.com/event/10424/

Published in: Technology
  • Be the first to comment

TV連動サービスのリアルタイム通知を支える技術

  1. 1. TV連動サービスの リアルタイム通知を支える技術 2014/01/14 テレビ連動サーバ勉強会vol1 Tsuyoshi Torii (@toritori0318) Bascule Inc.
  2. 2. 自己紹介 鳥居 剛司 @toritori0318 株式会社バスキュール TV連動プラットフォームサーバ開発/運用 Lua / Python / Golang / Node.js / Perl / Ruby 二児の父
  3. 3. アジェンダ MIESについて Sonicshooter基本機能/事例紹介 Sonicshooter詳細構成/特徴 お試し構成デモ まとめ
  4. 4. アジェンダ MIESについて Sonicshooter基本機能/事例紹介 Sonicshooter詳細構成/特徴 お試し構成デモ まとめ
  5. 5. MIES
  6. 6. MIES
  7. 7. アジェンダ MIESのご紹介 Sonicshooter基本機能/事例紹介 Sonicshooter詳細構成/特徴 お試し構成デモ まとめ
  8. 8. SonicShooter機能 ユーザ管理/認証 Push機能 フレンド配信 ブロードキャスト配信 Sync機能(New!) P2Pっぽく、特定デバイスとの同期をリアルタイムに行う Pull機能 フレンドタイムライン パブリックタイムライン ブロードキャストデータ
  9. 9. SonicShooter機能 ユーザ管理/認証 Push機能 フレンド配信 ブロードキャスト配信 Sync機能(New!) P2Pっぽく、特定デバイスとの同期をリアルタイムに行う Pull機能 フレンドタイムライン パブリックタイムライン ブロードキャストデータ
  10. 10. すごいTwitter っぽい
  11. 11. 番組事例
  12. 12. 事例: BloodyTube
  13. 13. 紹介ムービー
  14. 14. プロジェクト構成概要
  15. 15. アジェンダ MIESについて Sonicshooter基本機能/事例紹介 Sonicshooter詳細構成/特徴 お試し構成デモ まとめ
  16. 16. Elastic Socket.ioクラスタ
  17. 17. S2構成
  18. 18. S2構成
  19. 19. 特徴 同時数百万接続 HTTPS対応 特定ユーザ(グループ)に対して通知 動的にノード追加可能 Weighted load balancing 複数インスタンスタイプ対応
  20. 20. 特定ユーザへ通知
  21. 21. 動的にノード追加
  22. 22. ノード取得
  23. 23. Weighted load balancing
  24. 24. 複数インスタンスタイプ対応
  25. 25. その他工夫しているところ クライアントのフォールバックの仕組み ハートビートが切れたら生きているノードを探しに行く 別ノードへ再接続 ソケットが切れている最中は、ポーリング間隔を短くする
  26. 26. アジェンダ MIESについて Sonicshooter基本機能/事例紹介 Sonicshooter詳細構成/特徴 お試し構成デモ まとめ
  27. 27. Docker+socket.ioデモ Socket.ioも気軽にスケール出来たらいいよね Socket.ioをDockerコンテナ化して、ポコポコ増やしてみる スケールアウト/スケールインしたときに問題なく接続/再接続さ れる仕組み 昨日、さくっとプロトタイプ作ってみた
  28. 28. Docker+socket.ioデモ Socket.io ロードバランサ問題 ハンドシェイク > アップグレード の2回アクセス問題 公式はIP Hashで実現しているが、Sticky Sessionでやりたい ※もっというと、コネクション数見ながら自前で制御したい Openresty + Luaでコード書いてみた Nginxのupstream更新はconsul-template + Registrator Consul: クラスタされたサービス検出と設定のためのソリューション consul-template: Consulイベントと連動してテンプレートを更新 Registrator: Dockerコンテナ情報をconsul/etcdなどに適用 全体へのbroadcastはsocketio-redis adapter を使用
  29. 29. 補足:sio-clientのsticky session
  30. 30. 補足:Lua – sioノード決定コード
  31. 31. デモ構成
  32. 32. デモムービー
  33. 33. アジェンダ MIESについて Sonicshooter基本機能/事例紹介 Sonicshooter詳細構成/特徴 お試し構成デモ まとめ
  34. 34. まとめ TV連動のリアルタイム通知を行うサービス/実装 /実例の紹介 バージョンアップに向けてのデモンストレーション まだまだ改善したいところたくさんある
  35. 35. ポエム TV連動企画、人事ではない 基本的には同じような企画が多いし、知見共有出来るところはたく さんあるはず もっとこういう機会をふやしてこの業界全体の底上げしていきたい もし次回があるなら聞きたい〜 サーバ運用 チート対策 集計 対談
  36. 36. 宣伝その1
  37. 37. エンジニアサポート CROSS 2015 に登壇しま す! はやぶさ2開発者に聞く ~一度きりのテスト対策~ http://2015.cross-party.com/program/x1
  38. 38. 宣伝その2
  39. 39. ご清聴ありがとうございました

×