ݺߣ

ݺߣShare a Scribd company logo
Velké obsahové systémy
             Petr Joachim
             @petrjoachim




úterý, 30. října 12
Petr Joachim




úterý, 30. října 12
Co nás čeká?




úterý, 30. října 12
Obecně




úterý, 30. října 12
Obsahový portál
        • Informační systém jako každý jiný

        • Obsahuje data. Texty a jiné objekty
        • Je dobré, aby uměl data vhodně zobrazovat




úterý, 30. října 12
Malý obsahový portál
        • Převážně jediný autor (redaktor, korektor a
          fotograf v jednom)
        • Často není zdrojem zisku

        • Nejčastěji blog




úterý, 30. října 12
Velký obsahový portál
        • Píše celá redakce
        • Používá jej celá řada rolí
        • Vydělává peníze

        • Převážně zpravodajství




úterý, 30. října 12
V čem je rozdíl?




úterý, 30. října 12
V čem je rozdíl?
        • Více rolí




úterý, 30. října 12
V čem je rozdíl?
        • Více rolí
        • Větší návštěvnost




úterý, 30. října 12
V čem je rozdíl?
        • Více rolí
        • Větší návštěvnost
        • Peníze




úterý, 30. října 12
áǰ
        • Kvalita obsahu
        • Stabilita služby

        • Rychlost odezvy

              Novinky.cz - 5.000.000 PV/den ~ 57 PV/s




úterý, 30. října 12
žٱské role




úterý, 30. října 12
žٱské role
        • žٱ




úterý, 30. října 12
žٱské role
        • žٱ
        • Redaktor a Šéfredaktor




úterý, 30. října 12
žٱské role
        • žٱ
        • Redaktor a Šéfredaktor
        • Editor a Korektror




úterý, 30. října 12
žٱské role
        •     žٱ
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer




úterý, 30. října 12
žٱské role
        •     žٱ
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     ǻí




úterý, 30. října 12
žٱské role
        •     žٱ
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     ǻí
        •     ýář




úterý, 30. října 12
žٱské role
        •     žٱ
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     ǻí
        •     ýář
        •     峾Ծٰáٴǰ




úterý, 30. října 12
žٱské role
        •     žٱ
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     ǻí
        •     ýář
        •     峾Ծٰáٴǰ
        •     Grafik, Návrhář


úterý, 30. října 12
žٱ
        •     Stabilní systém
        •     Žádné reklamy
        •     Kvalitní obsah
        •     Pohodlné ovládání




úterý, 30. října 12
Redaktor a Šéfredaktor
        • Dobrý nástroj na chod redakce
        • Statistiky návštěvnosti, prokliků, ...
        • Plat




úterý, 30. října 12
Editor a Korektor
        • Totéž co Redaktor
        • navíc aby systém řešil mnoho za něj




úterý, 30. října 12
Majitel, ...
        • Zisk

        • Spokojenost uživatelů
        • Vysokou návštěvnost
        • Věhlas




úterý, 30. října 12
ǻí
        • Spoustu reklamního prostoru
        • Hodně návštěvníků, kteří klikají na reklamy




úterý, 30. října 12
ýář
        •     Automatické testy
        •     Automatické nasazování
        •     Automaticky generované featury
        •     Žádné uživatele
        •     Žádnou redakci




úterý, 30. října 12
峾Ծٰáٴǰ
        • Žádnou databázi
        • Žádné technologické kejkle
        • Minimum obrázků a žádné videa




úterý, 30. října 12
Grafik a Návrhář
        • Krásný web
        • Kvalitní obsah
        • Obrázky, videa




úterý, 30. října 12
áǰ podruhé
        • Kvalita obsahu
        • Stabilita služby

        • Rychlost odezvy

              Novinky.cz - 5.000.000 PV/den ~ 57 PV/s




úterý, 30. října 12
Technicky




úterý, 30. října 12
Řešení je na nás
        • Apache/PHP
        • MySQL

        • Hotovo?




úterý, 30. října 12
Jak a proč to tak děláme
        • Jak s daty?
        • Jak s množstvím requestů?




úterý, 30. října 12
Naše data
        •     Obrázky
        •     Videa
        •     Text
        •     Vazby mezi daty
        •     Statistiky
        •     Sezení uživatelů




úterý, 30. října 12
Kam s daty
        •     Relační databáze SQL
        •     Filesystém
        •     CDN (content delivery network)
        •     NoSQL

        • a další




úterý, 30. října 12
úterý, 30. října 12
Statistika
        • NE v jedné databázi s výdejem
        • NE přímý zápis do SQL




úterý, 30. října 12
Stabilita?
        • Výpadky
        • Přetížení
        • Nedostupnosti




úterý, 30. října 12
Monitoring
        • Cokoli co má bežet pořád
        • A to ostatní co má běžet jen někdy




úterý, 30. října 12
Replikace databází
        • Master - master
        • Cluster




úterý, 30. října 12
Soubory ve FileSystému
        • Síťový FS (nfs, seznamfs, ...)
        • Synchronizace mezi lokálními FS (rsync, nginx
          sync)




úterý, 30. října 12
Cache
        • Ulehčí databázi
        • Zmenší CPU zátěž
        • Zrychlí výdej

        • Pokud je dobře navržená




úterý, 30. října 12
Architektura
        • Škálovatelnost
        • Více vrstev




úterý, 30. října 12
Zevnitř




úterý, 30. října 12
Architektura
           BFU        http://novinky.cz




úterý, 30. října 12
Architektura
           BFU          http://novinky.cz
                              GET /domaci/ HTTP/1.1


                      web server            DB


                         FS


úterý, 30. října 12
Architektura
           BFU           http://novinky.cz                  DB
                       GET /domaci/ HTTP/1.1


       proxy          web server               rpc server



             FS       cache


úterý, 30. října 12
Architektura
           BFU              http://novinky.cz
                        GET /domaci/ HTTP/1.1


                      web container    rpc container   db farm
          balancer
                       proxy    web                    RW
                                                       master
                                             rpc
                       FS      cache
                                                       RO
                                                        slave
                       proxy    web


                       FS      cache
úterý, 30. října 12
Když se něco pokazí
        • Logování chyb
        • Přístup k logům
        • Možnost zjištění stavu




úterý, 30. října 12
Dotazy a odpovědi




úterý, 30. října 12
Děkuji za pozornost…
             Petr Joachim
             @petrjoachim




úterý, 30. října 12
úterý, 30. října 12

More Related Content

Velké obsahové systémy

  • 1. Velké obsahové systémy Petr Joachim @petrjoachim úterý, 30. října 12
  • 3. Co nás čeká? úterý, 30. října 12
  • 5. Obsahový portál • Informační systém jako každý jiný • Obsahuje data. Texty a jiné objekty • Je dobré, aby uměl data vhodně zobrazovat úterý, 30. října 12
  • 6. Malý obsahový portál • Převážně jediný autor (redaktor, korektor a fotograf v jednom) • Často není zdrojem zisku • Nejčastěji blog úterý, 30. října 12
  • 7. Velký obsahový portál • Píše celá redakce • Používá jej celá řada rolí • Vydělává peníze • Převážně zpravodajství úterý, 30. října 12
  • 8. V čem je rozdíl? úterý, 30. října 12
  • 9. V čem je rozdíl? • Více rolí úterý, 30. října 12
  • 10. V čem je rozdíl? • Více rolí • Větší návštěvnost úterý, 30. října 12
  • 11. V čem je rozdíl? • Více rolí • Větší návštěvnost • Peníze úterý, 30. října 12
  • 12. áǰ • Kvalita obsahu • Stabilita služby • Rychlost odezvy Novinky.cz - 5.000.000 PV/den ~ 57 PV/s úterý, 30. října 12
  • 14. žٱské role • žٱ úterý, 30. října 12
  • 15. žٱské role • žٱ • Redaktor a Šéfredaktor úterý, 30. října 12
  • 16. žٱské role • žٱ • Redaktor a Šéfredaktor • Editor a Korektror úterý, 30. října 12
  • 17. žٱské role • žٱ • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer úterý, 30. října 12
  • 18. žٱské role • žٱ • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • ǻí úterý, 30. října 12
  • 19. žٱské role • žٱ • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • ǻí • ýář úterý, 30. října 12
  • 20. žٱské role • žٱ • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • ǻí • ýář • 峾Ծٰáٴǰ úterý, 30. října 12
  • 21. žٱské role • žٱ • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • ǻí • ýář • 峾Ծٰáٴǰ • Grafik, Návrhář úterý, 30. října 12
  • 22. žٱ • Stabilní systém • Žádné reklamy • Kvalitní obsah • Pohodlné ovládání úterý, 30. října 12
  • 23. Redaktor a Šéfredaktor • Dobrý nástroj na chod redakce • Statistiky návštěvnosti, prokliků, ... • Plat úterý, 30. října 12
  • 24. Editor a Korektor • Totéž co Redaktor • navíc aby systém řešil mnoho za něj úterý, 30. října 12
  • 25. Majitel, ... • Zisk • Spokojenost uživatelů • Vysokou návštěvnost • Věhlas úterý, 30. října 12
  • 26. ǻí • Spoustu reklamního prostoru • Hodně návštěvníků, kteří klikají na reklamy úterý, 30. října 12
  • 27. ýář • Automatické testy • Automatické nasazování • Automaticky generované featury • Žádné uživatele • Žádnou redakci úterý, 30. října 12
  • 28. 峾Ծٰáٴǰ • Žádnou databázi • Žádné technologické kejkle • Minimum obrázků a žádné videa úterý, 30. října 12
  • 29. Grafik a Návrhář • Krásný web • Kvalitní obsah • Obrázky, videa úterý, 30. října 12
  • 30. áǰ podruhé • Kvalita obsahu • Stabilita služby • Rychlost odezvy Novinky.cz - 5.000.000 PV/den ~ 57 PV/s úterý, 30. října 12
  • 32. Řešení je na nás • Apache/PHP • MySQL • Hotovo? úterý, 30. října 12
  • 33. Jak a proč to tak děláme • Jak s daty? • Jak s množstvím requestů? úterý, 30. října 12
  • 34. Naše data • Obrázky • Videa • Text • Vazby mezi daty • Statistiky • Sezení uživatelů úterý, 30. října 12
  • 35. Kam s daty • Relační databáze SQL • Filesystém • CDN (content delivery network) • NoSQL • a další úterý, 30. října 12
  • 37. Statistika • NE v jedné databázi s výdejem • NE přímý zápis do SQL úterý, 30. října 12
  • 38. Stabilita? • Výpadky • Přetížení • Nedostupnosti úterý, 30. října 12
  • 39. Monitoring • Cokoli co má bežet pořád • A to ostatní co má běžet jen někdy úterý, 30. října 12
  • 40. Replikace databází • Master - master • Cluster úterý, 30. října 12
  • 41. Soubory ve FileSystému • Síťový FS (nfs, seznamfs, ...) • Synchronizace mezi lokálními FS (rsync, nginx sync) úterý, 30. října 12
  • 42. Cache • Ulehčí databázi • Zmenší CPU zátěž • Zrychlí výdej • Pokud je dobře navržená úterý, 30. října 12
  • 43. Architektura • Škálovatelnost • Více vrstev úterý, 30. října 12
  • 45. Architektura BFU http://novinky.cz úterý, 30. října 12
  • 46. Architektura BFU http://novinky.cz GET /domaci/ HTTP/1.1 web server DB FS úterý, 30. října 12
  • 47. Architektura BFU http://novinky.cz DB GET /domaci/ HTTP/1.1 proxy web server rpc server FS cache úterý, 30. října 12
  • 48. Architektura BFU http://novinky.cz GET /domaci/ HTTP/1.1 web container rpc container db farm balancer proxy web RW master rpc FS cache RO slave proxy web FS cache úterý, 30. října 12
  • 49. Když se něco pokazí • Logování chyb • Přístup k logům • Možnost zjištění stavu úterý, 30. října 12
  • 50. Dotazy a odpovědi úterý, 30. října 12
  • 51. Děkuji za pozornost… Petr Joachim @petrjoachim úterý, 30. října 12