From: =?utf-8?q?Michal_Bukovsk=C3=BD?= To: undisclosed-recipients: ; Subject: Seznam.cz Email Date: Tue, 9 Oct 2012 12:00:00 +0200 (CEST) Content-Type: multipart/x-presentation; boundary=--slide-- ➔Architektura emailu ➔Příjem a odesílání pošty ➔Ukládání dat ➔Ochrana proti SPAMu a virům ➔Technologie ----slide-- Content-Type: text/x-presentation-content ➔Přichází 120k spojení/min ➔Přijímáme 60k spojení/min ➔Ukládáme 20k zpráv/min ➔80% zpráv tvoří SPAM ➔Odesíláme 4k zpráv/min ➔Průměrná zpráva má přes 500kB ➔1.4PB zabraného místa na storage A to vše pro více jak 8 000 000 aktivních uživatelů ----slide-- Content-Type: text/x-numbers ➔O vše se stará 1500 virtuálů na 350 serverech v 22 racích ➔O které se starají 8 administrátorů ➔Aplikaci tvoří 10 + 3 vývojářů, 2 produkťáci a 1 UI návrhář ----slide-- Content-Type: text/x-numbers ----slide-- Content-Type: text/x-numbers ----slide-- Content-Type: text/x-architecture-io Internet I/O Storage ----slide-- Content-Type: text/x-architecture-io Internet QM Storage SMTPD SMTPC SMTP SMTP Storage Storage GList FastRPC ----slide-- Content-Type: text/x-architecture-io Internet QM Storage SMTPD SMTPC SMTP SMTP Storage Storage GList FastRPC SA NOD32 Scanner Storage SA nod32 ----slide-- Content-Type: text/x-architecture-io Internet QM Storage SMTPD SMTPC SMTP SMTP Storage Storage GList FastRPC SA NOD32 Scanner Storage SA nod32 MDA Bouncer Storage Storage Storage Storage ----slide-- Content-Type: text/x-architecture-storage Internet I/O Ebox NG Proxy POP3 FetcherHTTP, POP3,... IMAPv4 Ebox TTC FastRPC Storage FastRPC { msg: {...} id: 3 vclock: {0, 1, 123456} } { msg: {...} id: 4 vclock: {2, 1, 123460} } { msg: {...} id: 1 vclock: {8, 0, 123477} } FastRPC SMTP ... ----slide-- Content-Type: text/x-architecture-set-vs-set Ebox NG Ebox TTC { flags: {unread = true} body: "Ahoj, ......" vclock: {0, 0, 123456} } { flags: {unread = false} body: "Ahoj, ......" vclock: {0, 1, 123460} } { flags: {unread = false} body: "Ahoj, ......" vclock: {1, 1, 123461} } { flags: {unread = true} body: "Ahoj, ......" vclock: {0, 0, 123456} } { flags: {unread = false} body: "Ahoj, ......" vclock: {1, 0, 123461} } { flags: {unread = false} body: "Ahoj, ......" vclock: {1, 1, 123461} } ----slide-- Content-Type: text/x-architecture-set-vs-remove Ebox NG Ebox TTC { flags: {unread = false} body: "Ahoj, ......" vclock: {0, 0, 123456} } { flags: {unread = true} body: "Ahoj, ......" vclock: {0, 1, 123460} } { flags: {unread = true} body: "Ahoj, ......" vclock: {0, 1, 123460} } { flags: {unread = false} body: "Ahoj, ......" vclock: {0, 0, 123456} } { flags: {unread = false} body: "Ahoj, ......" vclock: {1, 0, 123456} } { flags: {unread = true} body: "Ahoj, ......" vclock: {0, 1, 123460} } ----slide-- Content-Type: text/x-architecture-storage Internet I/O Ebox HTTP, POP3 FastRPC Storage Storage 00*, 11*, ... 00*, 11*, ... 22*, 33*, … Princip hashování: EMAIL → 0011223344556677 → DH1 DH1 DH2 DH3 Storage Proxy POP3 Fetcher IMAPv4 ----slide-- Content-Type: text/x-spam-smtpd ➔Velký traffic nemusí být vždy nevýhoda ➔GeoIP – IP rasismus ➔Autoblocker – automatický IP/User blacklist ➔SPF – csas.cz ➔GrayList – 80% úspěšnost ➔Blacklisty a Whitelisty ➔Delivery test ----slide-- Content-Type: text/x-spam-scanner ➔Domain Keys ➔SpamAssassin ➔Bayes – SA, Bogofilter ➔IP/URL DNS Blacklisty ➔DCC Blacklisty ➔Sbírání URL ----slide-- Content-Type: text/x-spam-smtpc ➔Nejen spameři jsou na blacklistech ➔CAPTCHA na webmailu ➔Více odchozích IP adres ----slide-- Content-Type: text/x-viruses ➔Nod32 – scanner ➔Aktualizace – opět velký traffic výhodou ➔V dnešní době menší problém než spam ----slide-- Content-Type: text/x-technologies ➔C++, STL, Boost, Python ➔Proprietární databáze metadat ➔(MySQL) ➔FastRPC, HTTPStorage ➔MTD, MetaServer ➔Memcache Děkuji za pozornost Michal Bukovský http://vyvojari.seznam.cz http://seznam.sblog.cz http://opensource.seznam.cz ----slide---- ----slide-- Content-Type: text/x-questions