SlideShare a Scribd company logo
1 of 20
canlı video yayınlama sistemi
Amaç: Canlı Video Yayını
Justin.tv?
 Canlı video yayınlama
 4 veri merkezi (data center)
 Anlık ortalama 2000 yayın
 Saniyede 5.6 GB (45Gbps) veri aktarımı
 Günlük ortalama maksimum yoğunluk: 13.75 GB (110Gbps)
 Bugüne kadarki en yüksek yoğunluk: 62.5 GB (500Gbps)
 200 video sunucusu
 Hepsinde 2x gigabit (1Gbps) kart var. (sunucu başına 2Gbps ?)
Altyapı
 Twice
 XFS
 HAProxy
 LVS
 Ruby on Rails
 Nginx
 Postgresql
 MongoDB
 MemcacheDB
 Syslog-ng
 RabbitMQ
 Puppet
 Git
 Wowza
 Usher
 S3
Justin.tv Video Altyapısı
Justin.tv Video Altyapısı
 Video sunucusu (Wowza)
 Yayın alabiliyor.
 Yayın sunabiliyor.
 Havada codec dönüşümü yapabiliyor (on-the-fly transcoding).
 Canlı yayın bellekten sunuluyor.
 Yayın diskten okunmuyor.
 Gelen yayın arşiv amaçlı diske kaydediliyor.
 Her türlü cihaza video sunabiliyor.
 Adobe Flash, iOS, Android, Windows Phone, …
 Veri aktarımını, cihazın ve ağın hızına göre otomatik ayarlama
Justin.tv Video Altyapısı
 Usher (Yayın yönetimi sunucusu)
 Video sunucularda özel bir yapılandırma yok.
 Yayınların kaç makineye dağılacağı
 Hangi yayının hangi makinede olacağı yönetimi
 Parametreler:
 Hangi veri merkezinde (data center) ne kadar yük var?
 Bütün sunucuların yük dağılımı
 Bir yayının hangi sunucularda bulunduğu
 İzleyicilerin IP adresleri ve hangi ülkeden geldikleri
 -Eğer izleyicinin ISP’si ile anlaştılarsa- izleyicinin IP adresinin rota tablosu bilgisi
 Eğer bir yayın bir veri merkezinde ise onu aynı veri merkezinde tutmaya çalışıyor.
Justin.tv Video Altyapısı
 Usher (devam…)
 Yük dengeleme
 Kullanıcının IP adresini ve lokasyonunu bilince ona göre rota çiziyor.
 Paketin geçeceği yolu azaltmaya çalışıyor.
 3 saniyede bir sistem yükünü kontrol ediyor.
Problemler?
 Başlangıçta AWS’de idiler.
 Vazgeçtiler. Çünkü yavaş.
 CDN (İçerik Dağıtım Ağı): $.135
 AWS: $.0074
 Veri Merkezi: $.0017
İnternet Altyapısı
Peering
Unicast - Multicast
 Unicast (Tekli gönderim)
 iki bilgisayar arasındaki bağlantı
 Multicast (Çoklu gönderim)
 Tek bağlantı birden fazla
bilgisayara dağıtılır.
 Yayını almak isteyenler yayına
kaydolurlar.
 Yayın multicast olan IP adresi
tarafından dağıtılır.
 Router’ın multicast yayınları
desteklemesi gerekir.
Justin.tv Video Altyapısı
 Peering yapıyorlar.
 Bu sayede kullanıcılara yakınlar.
 Multicast yapamıyorlar.
 4 veri merkezi arasında ana bir
networkleri var.
 Veri merkezleri arasında multicast
trafik var.
 Anlık izleme artışları
 Maçlar
 Ünlülerin twit hesapları..
 …
 Bandwidth?
Justin.tv Web Altyapısı
Amaç: Canlı Video Yayını
 Ağ performansı
 Band genişliği (Bandwidth)
 Gecikme (Delay / Latency)
 Dalgalanma (Jitter)
Ağ Performansı: Bant Genişliği
http://www.telegeography.com/telecom-maps/
Ağ Performansı: Bant Genişliği
Ağ Performansı: Gecikme
 Gecikme az olmalı.
 Kriterler
 Hat kalitesi (bandwidth)
 Cihaz kalitesi
 Aradaki cihaz sayısının az olması
 http://merry.netsys.more.net/cgi-pub/latency_map.py
Ağ Performansı: Dalgalanma
Ağ Performansı

More Related Content

Similar to Justin TV Canlı Video Yayınlama Alt Yapısı

windows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over clusterwindows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over clusterÇözümPARK
 
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?BGA Cyber Security
 
Windows Clusters
Windows ClustersWindows Clusters
Windows Clustersoduth
 
DDOS Saldırıları ve Korunma Yolları
DDOS Saldırıları ve Korunma YollarıDDOS Saldırıları ve Korunma Yolları
DDOS Saldırıları ve Korunma Yollarınetsec
 
Bilgisayar Ağları
Bilgisayar AğlarıBilgisayar Ağları
Bilgisayar AğlarıFaik GÜNAY
 
Ibm storage presales presentation
Ibm storage presales presentationIbm storage presales presentation
Ibm storage presales presentationHande Hnd
 
Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4Murat KARA
 
Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Serhad MAKBULOĞLU, MBA
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Managerlogyonetimi
 
Open source ddos engelleme
Open source ddos engellemeOpen source ddos engelleme
Open source ddos engellemerapsodi
 
Linux 101 - Ağ Temelleri
Linux 101 - Ağ TemelleriLinux 101 - Ağ Temelleri
Linux 101 - Ağ TemelleriSDU CYBERLAB
 
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim NotlarımWeb Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim NotlarımNur Yesilyurt
 

Similar to Justin TV Canlı Video Yayınlama Alt Yapısı (15)

windows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over clusterwindows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over cluster
 
pfSense 2.0 Eğitim Sunumu
pfSense 2.0 Eğitim SunumupfSense 2.0 Eğitim Sunumu
pfSense 2.0 Eğitim Sunumu
 
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
 
Windows Clusters
Windows ClustersWindows Clusters
Windows Clusters
 
DDOS Saldırıları ve Korunma Yolları
DDOS Saldırıları ve Korunma YollarıDDOS Saldırıları ve Korunma Yolları
DDOS Saldırıları ve Korunma Yolları
 
Bilgisayar Ağları
Bilgisayar AğlarıBilgisayar Ağları
Bilgisayar Ağları
 
Hyper-v v2 - MSHowto.Org
Hyper-v v2 - MSHowto.OrgHyper-v v2 - MSHowto.Org
Hyper-v v2 - MSHowto.Org
 
Ibm storage presales presentation
Ibm storage presales presentationIbm storage presales presentation
Ibm storage presales presentation
 
Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4
 
Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)
 
Netty Tanıtımı
Netty TanıtımıNetty Tanıtımı
Netty Tanıtımı
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
 
Open source ddos engelleme
Open source ddos engellemeOpen source ddos engelleme
Open source ddos engelleme
 
Linux 101 - Ağ Temelleri
Linux 101 - Ağ TemelleriLinux 101 - Ağ Temelleri
Linux 101 - Ağ Temelleri
 
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim NotlarımWeb Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
 

Justin TV Canlı Video Yayınlama Alt Yapısı

  • 3. Justin.tv?  Canlı video yayınlama  4 veri merkezi (data center)  Anlık ortalama 2000 yayın  Saniyede 5.6 GB (45Gbps) veri aktarımı  Günlük ortalama maksimum yoğunluk: 13.75 GB (110Gbps)  Bugüne kadarki en yüksek yoğunluk: 62.5 GB (500Gbps)  200 video sunucusu  Hepsinde 2x gigabit (1Gbps) kart var. (sunucu başına 2Gbps ?)
  • 4. Altyapı  Twice  XFS  HAProxy  LVS  Ruby on Rails  Nginx  Postgresql  MongoDB  MemcacheDB  Syslog-ng  RabbitMQ  Puppet  Git  Wowza  Usher  S3
  • 6. Justin.tv Video Altyapısı  Video sunucusu (Wowza)  Yayın alabiliyor.  Yayın sunabiliyor.  Havada codec dönüşümü yapabiliyor (on-the-fly transcoding).  Canlı yayın bellekten sunuluyor.  Yayın diskten okunmuyor.  Gelen yayın arşiv amaçlı diske kaydediliyor.  Her türlü cihaza video sunabiliyor.  Adobe Flash, iOS, Android, Windows Phone, …  Veri aktarımını, cihazın ve ağın hızına göre otomatik ayarlama
  • 7. Justin.tv Video Altyapısı  Usher (Yayın yönetimi sunucusu)  Video sunucularda özel bir yapılandırma yok.  Yayınların kaç makineye dağılacağı  Hangi yayının hangi makinede olacağı yönetimi  Parametreler:  Hangi veri merkezinde (data center) ne kadar yük var?  Bütün sunucuların yük dağılımı  Bir yayının hangi sunucularda bulunduğu  İzleyicilerin IP adresleri ve hangi ülkeden geldikleri  -Eğer izleyicinin ISP’si ile anlaştılarsa- izleyicinin IP adresinin rota tablosu bilgisi  Eğer bir yayın bir veri merkezinde ise onu aynı veri merkezinde tutmaya çalışıyor.
  • 8. Justin.tv Video Altyapısı  Usher (devam…)  Yük dengeleme  Kullanıcının IP adresini ve lokasyonunu bilince ona göre rota çiziyor.  Paketin geçeceği yolu azaltmaya çalışıyor.  3 saniyede bir sistem yükünü kontrol ediyor.
  • 9. Problemler?  Başlangıçta AWS’de idiler.  Vazgeçtiler. Çünkü yavaş.  CDN (İçerik Dağıtım Ağı): $.135  AWS: $.0074  Veri Merkezi: $.0017
  • 12. Unicast - Multicast  Unicast (Tekli gönderim)  iki bilgisayar arasındaki bağlantı  Multicast (Çoklu gönderim)  Tek bağlantı birden fazla bilgisayara dağıtılır.  Yayını almak isteyenler yayına kaydolurlar.  Yayın multicast olan IP adresi tarafından dağıtılır.  Router’ın multicast yayınları desteklemesi gerekir.
  • 13. Justin.tv Video Altyapısı  Peering yapıyorlar.  Bu sayede kullanıcılara yakınlar.  Multicast yapamıyorlar.  4 veri merkezi arasında ana bir networkleri var.  Veri merkezleri arasında multicast trafik var.  Anlık izleme artışları  Maçlar  Ünlülerin twit hesapları..  …  Bandwidth?
  • 15. Amaç: Canlı Video Yayını  Ağ performansı  Band genişliği (Bandwidth)  Gecikme (Delay / Latency)  Dalgalanma (Jitter)
  • 16. Ağ Performansı: Bant Genişliği http://www.telegeography.com/telecom-maps/
  • 17. Ağ Performansı: Bant Genişliği
  • 18. Ağ Performansı: Gecikme  Gecikme az olmalı.  Kriterler  Hat kalitesi (bandwidth)  Cihaz kalitesi  Aradaki cihaz sayısının az olması  http://merry.netsys.more.net/cgi-pub/latency_map.py