Upgrade to Pro — share decks privately, control downloads, hide ads and more …

弊社配信基盤を支えるHashiCorp OSS

Masahito Yano
October 23, 2019

弊社配信基盤を支えるHashiCorp OSS

2019年10月23日「Mitchell Hashimoto in Tokyo! HashiCorp Meetup」にて登壇
https://hashicorp.connpass.com/event/146776/

Masahito Yano

October 23, 2019
Tweet

More Decks by Masahito Yano

Other Decks in Technology

Transcript

  1. P E R S O N A L D A

    T A YANO MASAHITO 矢 野 完 人 2016年新卒入社 動画配信基盤開発 プロダクトオーナー ID: yanoshi 所属 合同会社DMM.com EC&デジタルコンテンツ本部 動画配信事業部 配信基盤スクラムチーム お仕事内容 弊社の動画を概ね配信する基盤開発 キャッシュアーキテクチャとか エンコードとかDRMとか 弊社の画像配信サーバーの基盤開発
  2. 21

  3. 41 各 サ ー ビ ス の 認 証 レ

    イ ヤ ー AWSでDRMコア ビジネスロジックを分離 mlic
  4. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 42 構築は全てTerraformで mlic
  5. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 43 構築は全てTerraformで 「便利だねー」 mlic
  6. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 45 Windows Server!!! mlic
  7. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 48 Fargate使えないしEKSも無理… Windows Server!!!
  8. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 49 なのでPackerでイメージを作ってるよ! mlic Windows Server!!!
  9. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 50 Packer、Windowsにも対応しててすごい! mlic Windows Server!!!
  10. 各 サ ー ビ ス の 認 証 レ イ

    ヤ ー 51 「便利だねー」 mlic Windows Server!!!
  11. 負荷もいっぱい! 59 0 50 100 150 200 250 300 2013

    2014 2015 2016 2017 2018 対外トラフィック 2013 2014 2015 2016 2017 2018 197Gbps 215Gbps 259Gbps 121Gbps 103Gbps 280Gbps 規模感
  12. 67 STキャッシュ STストレージ STオリジンWowza ユーザー 負荷 中 負荷 大 負荷

    最大 ContentID: hogefuga0001 負荷 小 現在のアーキテクチャ
  13. 68 STキャッシュ STストレージ STオリジンWowza 負荷 小 負荷 大 負荷 最大

    ユーザー ContentID: hogefuga0001 負荷 中 現在のアーキテクチャ
  14. 70 STキャッシュ STストレージ STオリジンWowza 負荷 小 ユーザー ContentID: hogefuga0001 負荷

    中 負荷 大 負荷 最大 CDN 色々と賢い! 現在のアーキテクチャ
  15. 73 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL
  16. 74 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL OpenRestyのShared Memoryにアクセス情報がたまる ContentA: 100reqs/sec ContentB: 1000reqs/sec ContentC: 0reqs/sec Node1 ContentA: 200reqs/sec ContentB: 1500reqs/sec ContentC: 1reqs/sec Node2 … Node3
  17. 75 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL 配信サーバーがManagerノードへデータを転送 ContentA: 100reqs/sec ContentB: 1000reqs/sec ContentC: 0reqs/sec Node1 ContentA: 200reqs/sec ContentB: 1500reqs/sec ContentC: 1reqs/sec Node2 … Node3 ContentA: 500reqs/sec ContentB: 10000reqs/sec ContentC: 2reqs/sec ⚡Consul Event ⚡
  18. 76 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL 定期に 収集
  19. 77 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL 負荷分散情報を各ノードが自発的に回収! ContentA: 500reqs/sec ContentB: 10000reqs/sec ContentC: 2reqs/sec ContentA: 普通 ContentB: ヤバい ContentC: 無風 ⚡Consul Event ⚡
  20. 78 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL 定期に 更新 ContentA: 普通 ContentB: ヤバい ContentC: 無風
  21. 79 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL 適宜 リダイレクト 持っているデータを元に 適宜リダイレクト ContentA: 普通 ContentB: ヤバい ContentC: 無風
  22. 80 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL いつも 快適
  23. 81 1 0: 1 0 P M Wowza OpenResty 負荷分散後の

    配信URL Storage Proxy Cache OpenResty Origin Device Redirector st-api VODST Manager CDN 配信URL 結果整合性が担保された 安全な配信基盤!