Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Architektura aplikací v Seznam.cz Vlastimil Pečínka www.seznam.cz … najdu tam, co neznám !

Podobné prezentace


Prezentace na téma: "Architektura aplikací v Seznam.cz Vlastimil Pečínka www.seznam.cz … najdu tam, co neznám !"— Transkript prezentace:

1 Architektura aplikací v Seznam.cz Vlastimil Pečínka … najdu tam, co neznám !

2 … najdu tam, co neznám ! Úvodní axiomy • na Seznamu měl v minulosti provozní potíže a zcela jistě je bude mít i v budoucnu •Je zřejmý rozdíl mezi fulltextem Seznamu a konkurence, z podstaty věci ten rozdíl bude vždy •To, co děláme v technickém oddělení, není nejlepší ani nejoptimálnější, je to však prověřené, sebemotivující, a ne každý to umí •Ivo Lukačovič prodává tak maximálně svoje Sony Vaio

3 … najdu tam, co neznám ! Seznam jako technologická firma •Říkáme si tak, ačkoliv nevyrábíme a nedodáváme technologie na trh •Vyrábíme, provozujeme a vylepšujeme technologie (aplikace, přístupy, frameworky, …) pro provoz vlastních služeb •Vyrábíme to, co „nejde koupit“ •IT je pro nás konkurenční výhoda (viz. The Red Shift Theory; Greg Papadopoulos)

4 … najdu tam, co neznám ! Seznam jako technologická firma • ový cluster •Internetové fulltextové hledání •Mobilní služby: WapProxy, MobileDetect •CDN (Content Delivery Network) •Mapy.cz •Krabicový fulltext ELSA •Jednoduchý master-master replikovaný FS •Metaserver, webpublisher, a další…

5 … najdu tam, co neznám ! Approach & tools •3-vrstvá architektura: frontend, backend, storage •Middleware: FastRPC, XML-RPC •Frontend: vlastní web-publisher •Backend: vlastní meta-server •Storage: MySQL nebo proprietární řešení •SQLWrapper: škálovatelnost a failover pro DB •SeznamFS: jednoduchý master-master mirroring •Dualita služeb: paralelní provoz ze 2 datacenter

6 … najdu tam, co neznám ! 3-vrstvá architektura • Obecná architektura • V jedné lokalitě • Kooperující služby • Middleware • Loadbalancing • Škálovatelnost • Failover

7 … najdu tam, co neznám ! 3-vrstvá architektura

8 … najdu tam, co neznám ! 3-vrstvá architektura Homepage, webmail, novinky.cz, sport.cz,… ubox, sbox, ebox, frog, tvprogram, …

9 … najdu tam, co neznám ! Duální provoz

10 … najdu tam, co neznám ! DNS balancing & failover

11 … najdu tam, co neznám ! Backendy - metaserver •Kostra pro tvorbu backendů •Umí pouze –Načíst a parsovat konfiguraci –Inicializovat síťová rozhraní a předávat data skrze něj –Process management (fork / kill) •Rozšiřitelný s pomocí vlastních nebo generických modulů –generický modul podporuje komunikační protokol a možnost psát logiku v „libovolném“ jazyce

12 … najdu tam, co neznám ! Backendy - metaserver

13 … najdu tam, co neznám ! Frontendy - webpublisher •Nadstavba mod_python pro tvorbu webovek v jazyce Python pod serverem Apache HTTP •Od roku 2005 z důvodů –vylepšený „dispatching requestů“ –globální konfigurace (výkon, přístupnost) –„check request“ objekt –inteligentní odchycování výjimek –implicitní metoda –a jiné…

14 … najdu tam, co neznám ! Replikace MySQL •Failover? •Latence? •Výkon?

15 … najdu tam, co neznám ! SeznamFS •Jednoduchý zrcadlený filesystém postavený nad FUSE (Filesystem in Userspace) – netřeba kernel hrátek •Je to FS, není nutné předělávat aplikace (vlastní I/O knihovna, apod.) •Výkon: R/O operace lze přímo z hostitelského filesystému, minimální síťový overhead •Neřeší konflikty na souborovém systému, musí vyřešit aplikace

16 … najdu tam, co neznám ! SeznamFS • Inspirace u MySQL • Binární log změn • Master-master/slave •„Block based“ změny

17 … najdu tam, co neznám ! Co (empiricky) funguje •3-vrstvá architektura (kooperující prostředí) •Pragmatický přístup (SeznamFS) •Opensource (vždy je na čem stavět, inspirace) •Dělení kompetencí (vývojář vs. administrátor) •Práce s timeouty (chybové hlášení lepší než nic) •Širší portfolio služeb (širší záběr know-how)

18 … najdu tam, co neznám ! Co (empiricky) nefunguje •Akademický přístup –„normální formy“ u DB pravidelně obcházeny •Komplikovaný přístup –mnoho vah, které nelze nikdy optimálně nastavit –mnoho nepotřebné funkčnosti •Outsourcing obecně (je-li pro vás IT výhodou) –zejména pokud si na vás někdo know-how získává •„To nemůže nastat“ přístup –Teorie velkých čísel a objemů => nastane to

19 … najdu tam, co neznám ! Poděkování & odkazy •Seznam Opensource –http://opensource.seznam.czhttp://opensource.seznam.cz –FastRPC, Teng, SeznamFS, JAK, … •Seznam blog –http://seznam.sblog.czhttp://seznam.sblog.cz •Mod_python –http://www.modpython.orghttp://www.modpython.org •MySQL replikace –dokumentace na


Stáhnout ppt "Architektura aplikací v Seznam.cz Vlastimil Pečínka www.seznam.cz … najdu tam, co neznám !"

Podobné prezentace


Reklamy Google