SlideShare a Scribd company logo
1 of 52
Download to read offline
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
Nároky
        • Kvalita obsahu
        • Stabilita služby

        • Rychlost odezvy

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




úterý, 30. října 12
Uživatelské role




úterý, 30. října 12
Uživatelské role
        • Uživatel




úterý, 30. října 12
Uživatelské role
        • Uživatel
        • Redaktor a Šéfredaktor




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




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




úterý, 30. října 12
Uživatelské role
        •     Uživatel
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     Obchodník




úterý, 30. října 12
Uživatelské role
        •     Uživatel
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     Obchodník
        •     Vývojář




úterý, 30. října 12
Uživatelské role
        •     Uživatel
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     Obchodník
        •     Vývojář
        •     Administrátor




úterý, 30. října 12
Uživatelské role
        •     Uživatel
        •     Redaktor a Šéfredaktor
        •     Editor a Korektror
        •     Majitel, Akcionář, Produktový manažer
        •     Obchodník
        •     Vývojář
        •     Administrátor
        •     Grafik, Návrhář


úterý, 30. října 12
Uživatel
        •     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
Obchodník
        • Spoustu reklamního prostoru
        • Hodně návštěvníků, kteří klikají na reklamy




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




úterý, 30. října 12
Administrátor
        • Žá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
Nároky 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

More from seznamVyvojari

Hledání úspor v provozu internetové jedničky
Hledání úspor v provozu internetové jedničkyHledání úspor v provozu internetové jedničky
Hledání úspor v provozu internetové jedničky
seznamVyvojari
 
Sklik - Reklama nejen ve vyhledávání
Sklik - Reklama nejen ve vyhledáváníSklik - Reklama nejen ve vyhledávání
Sklik - Reklama nejen ve vyhledávání
seznamVyvojari
 
Fulltextový vyhledávač
Fulltextový vyhledávačFulltextový vyhledávač
Fulltextový vyhledávač
seznamVyvojari
 

More from seznamVyvojari (8)

Hledání úspor v provozu internetové jedničky
Hledání úspor v provozu internetové jedničkyHledání úspor v provozu internetové jedničky
Hledání úspor v provozu internetové jedničky
 
Nový Email.cz
Nový Email.czNový Email.cz
Nový Email.cz
 
Sklik - Reklama nejen ve vyhledávání
Sklik - Reklama nejen ve vyhledáváníSklik - Reklama nejen ve vyhledávání
Sklik - Reklama nejen ve vyhledávání
 
Fulltextový vyhledávač
Fulltextový vyhledávačFulltextový vyhledávač
Fulltextový vyhledávač
 
Výzkum ve fulltextu
Výzkum ve fulltextuVýzkum ve fulltextu
Výzkum ve fulltextu
 
Seznam na mobilu
Seznam na mobiluSeznam na mobilu
Seznam na mobilu
 
SCRUM v Seznam.cz
SCRUM v Seznam.czSCRUM v Seznam.cz
SCRUM v Seznam.cz
 
Roman kummel
Roman kummelRoman kummel
Roman kummel
 

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. Nároky • Kvalita obsahu • Stabilita služby • Rychlost odezvy Novinky.cz - 5.000.000 PV/den ~ 57 PV/s úterý, 30. října 12
  • 14. Uživatelské role • Uživatel úterý, 30. října 12
  • 15. Uživatelské role • Uživatel • Redaktor a Šéfredaktor úterý, 30. října 12
  • 16. Uživatelské role • Uživatel • Redaktor a Šéfredaktor • Editor a Korektror úterý, 30. října 12
  • 17. Uživatelské role • Uživatel • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer úterý, 30. října 12
  • 18. Uživatelské role • Uživatel • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • Obchodník úterý, 30. října 12
  • 19. Uživatelské role • Uživatel • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • Obchodník • Vývojář úterý, 30. října 12
  • 20. Uživatelské role • Uživatel • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • Obchodník • Vývojář • Administrátor úterý, 30. října 12
  • 21. Uživatelské role • Uživatel • Redaktor a Šéfredaktor • Editor a Korektror • Majitel, Akcionář, Produktový manažer • Obchodník • Vývojář • Administrátor • Grafik, Návrhář úterý, 30. října 12
  • 22. Uživatel • 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. Obchodník • Spoustu reklamního prostoru • Hodně návštěvníků, kteří klikají na reklamy úterý, 30. října 12
  • 27. Vývojář • Automatické testy • Automatické nasazování • Automaticky generované featury • Žádné uživatele • Žádnou redakci úterý, 30. října 12
  • 28. Administrátor • Žá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. Nároky 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