Ustream.tv Bepillantás egy közösségi élővideo site működésébe
Tolmács Márk
2009. október 10.
Pillantás bele.... “Facebook-clean, YouTube simple...” ...so you get the drill 2009. október 10.
Mivel kell szembenéznünk... Web front-end 30 000 kérés / perc / szerver (átlag) Adatbázis back-end 135 000 kérés / perc / szerver (átlag) Cache front-end 55 000 kérés / perc /szerver (átlag) legalábbis éjszaka... 2009. október 10.
...és ha tényleg szeretnek bennüket... Web front-end 168 000 kérés / perc / szerver (peak) Adatbázis 260 000 kérés / perc / szerver (peak) Cache 300 000 kérés / perc / szerver (peak)
2009. október 10.
...mi frappánsan megoldjuk 6 web front-enddel (Apache 2.x) 2 front-end cache szerverrel (Varnish) 2 statikus szerver (Nginx) 2 master + 3 slave adatbázis szerverrel (MySQL 5.x) 16 Flash Media Serverrel no meg némi CDN támogatással (de psszt!)
2009. október 10.
2 000 000 látogató / nap
2009. október 10.
2 000 000 látogató / nap
* Magyaroszág lakossága 10 millió
2009. október 10.
2 000 000 látogató / nap
köszönjük a többször is visszalátogatóknak!
2009. október 10.
Deployment “A szükség nagy Úr!”
2009. október 10.
Multi-master Subversion?! “Yes, you can!”
2009. október 10.
Multi-master Subversion pre- és post-commit hookok optimistic locking számos funkcionális ellenőrzés rsync a végső fázisban
2009. október 10.
PHP - a mindenes Hatékonyan és gyorsan
2009. október 10.
Saját keretrendszer Óriások vállán (Facebook, Flickr, stb...) Ötvöztük a legjobb megoldásokat OOP és MVC Előny: Saját szükségleteinkre formáljuk
2009. október 10.
Reflection API
Controller validáció View paraméterek validációja
2009. október 10.
Reflection API Docblock annotations Típusellenőrzés Sebesség / kényelem APC cache
2009. október 10.
Statikus filekezelés
JS/CSS fileok tömörítve CDN-ről kerülnek a látogatóhoz CSS sprite-ok extenzív használata
2009. október 10.
Statikus filekezelés Hatékony és egyben kényelmes megoldás Függőségi csoportok (főként JS) SVN revízió mint verzió CDN edge logika
2009. október 10.
Adatbázisok
MySQL multi-master setup (1-1) Load-balanceolt MySQL slave-ek (3)
2009. október 10.
Adatbázisok DAO minta Kézzel finomhangolt SQL lekérdezések Több szintű cache-elés Többnyire statikus osztályok
2009. október 10.
JavaScript tippek-trükkök Minden a kódszervezésen múlik
2009. október 10.
A böngésző első osztályú platform
MooToolstól a jQuery-ig “Nem minden objektum ami fénylik” Komponensek és widgetek Interakció a Flash playerrel
2009. október 10.
A böngésző első osztályú platform
Skálázhatósági erények Kódszervezés Egyszerű Event Dispatcher
2009. október 10.
Flash API Live video for the masses
2009. október 10.
Flash API Támogatunk minden elterjedt eszközt Flash Professional, Flex, Flashdevelop Támogatjuk AIR alkalmazások készítését A Ustream.tv Flash alkalmazásai is erre épülnek
2009. október 10.
Flash API Runtime Shared Library-k (moduláris felépítés) Az SWC állományok is elérhetőek Statikus fordítás is lehetséges (bár nem ajánljuk) Dokumentáció ASDoc formátumban is Példakódok is elérhetőek
2009. október 10.
Broadcasting in HQ WireCast Böngésző plug-in Flash Media Encoder Tricaster
2009. október 10.
Ha sikerült felcsigáznunk: http://svn.ustream.tv/flash/
2009. október 10.
Mobile me tender Mesélj akkor is ha úton vagy
2009. október 10.
Támogatott eszközök Nokia (Symbian) Apple iPhone Android Windows Mobile Teljes lista: http://www.ustream.tv/mobile
2009. október 10.
Broadcast mobilról Direkt RTMP kapcsolat Adaptív bitráta Frame-dropping végső esetben Bájtkód-optimalizált alkalmazások Cél a minimális “lag”
2009. október 10.
Mobil kiegészítők Twitter Chat ( IRC ) Szavazás Viral marketing (automatikus feltöltés) Facebook YouTube
2009. október 10.
Újradefiniált határok Egy kellemes szombat este hazafelé menet megpillantod a naplementét és legszívesebben megmutatnád mindenkinek!
Mostmár megteheted!
2009. október 10.
Jelentkezz mobiltesztelőnek!
2009. október 10.
Jelentkezz mobiltesztelőnek! Nincs más dolgod, mint emailt írni a
[email protected] email címen.
2009. október 10.
Watershed Nekem is kell Ustream! 2009. október 10.
Watershed Legyen saját viewered, broadcastered, chated Kiterjedt API felhasználókezelésre (fordított SOAP) Metrikák Ugyan az a Flash API mint a ustream.tv-n
2009. október 10.
Watershed - fordított SOAP Watershed a kliens Az Ügyfél nyújtja a szervert Esemény alapú Szinkron (a legtöbb hívás)
2009. október 10.
Developer Community Törekvések a közösség felé nyitásban További API és mashup lehetőségek Kommunikáció Fejlesztők támogatása
2009. október 10.
Kérdések?
2009. október 10.
Köszönöm! Tolmács Márk -
[email protected]
Béta teszter jelentkezés:
[email protected]
2009. október 10.