SlideShare a Scribd company logo
1 of 19
From: =?utf-8?q?Michal_Bukovsk=C3=BD?=
    <michal.bukovsky@firma.seznam.cz>
To: undisclosed-recipients: ;
Subject: Seznam.cz Email
Date: Tue, 9 Oct 2012 12:00:00 +0200 (CEST)
Content-Type: multipart/x-presentation;
    boundary=--slide--
----slide--

    Content-Type: text/x-presentation-content


➔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-numbers


➔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-architecture-io




   Internet




                                  I/O




                                        Storage
----slide--

   Content-Type: text/x-architecture-io
                     SMTP                 FastRPC

                                                    GList
                             SMTPD
       Internet
                       Storage


SMTP

                   Storage

     SMTPC                          QM




                                                            Storage
----slide--

   Content-Type: text/x-architecture-io
                         SMTP                   FastRPC

                                                          GList
                                   SMTPD
       Internet
                           Storage


SMTP

                       Storage

     SMTPC                                 QM


                                 Storage

                  SA

       SA                Scanner
                                                                  Storage

  NOD32                nod32
----slide--

   Content-Type: text/x-architecture-io
                         SMTP                   FastRPC

                                                               GList
                                   SMTPD
       Internet
                           Storage
                                                Storage        Bouncer
SMTP

                       Storage

     SMTPC                                 QM
                                                                   Storage

                                                     Storage
                                 Storage

                  SA
                                                               Storage
       SA                Scanner
                                                  MDA                        Storage

  NOD32                nod32
----slide--

       Content-Type: text/x-architecture-storage



                             HTTP, POP3,...         Proxy      Fetcher
          Internet
                                  FastRPC
                                                    POP3       IMAPv4
                                  SMTP
                                  ...
{
    msg: {...}                                                           Ebox TTC
    id: 3
    vclock: {0, 1, 123456}                    I/O
}                                                    FastRPC
{                                                    Storage
    msg: {...}
    id: 4                                                                   FastRPC
    vclock: {2, 1, 123460}
}
{
                                                      Ebox NG
    msg: {...}
    id: 1
    vclock: {8, 0, 123477}
}
----slide--

     Content-Type: text/x-architecture-set-vs-set




               Ebox NG                                             Ebox TTC

{                                                   {
    flags: {unread = true}                              flags: {unread = true}
    body: "Ahoj, ......"                                body: "Ahoj, ......"
    vclock: {0, 0, 123456}                              vclock: {0, 0, 123456}
}                                                   }

{                                                   {
    flags: {unread = false}                             flags: {unread = false}
    body: "Ahoj, ......"                                body: "Ahoj, ......"
    vclock: {0, 1, 123460}                              vclock: {1, 0, 123461}
}                                                   }

{                                                   {
    flags: {unread = false}                             flags: {unread = false}
    body: "Ahoj, ......"                                body: "Ahoj, ......"
    vclock: {1, 1, 123461}                              vclock: {1, 1, 123461}
}                                                   }
----slide--

     Content-Type: text/x-architecture-set-vs-remove




               Ebox NG                                            Ebox TTC

{                                                 {
    flags: {unread = false}                            flags: {unread = false}
    body: "Ahoj, ......"                               body: "Ahoj, ......"
    vclock: {0, 0, 123456}                             vclock: {0, 0, 123456}
}                                                 }

{                                                 {
    flags: {unread = true}                             flags: {unread = false}
    body: "Ahoj, ......"                               body: "Ahoj, ......"
    vclock: {0, 1, 123460}                             vclock: {1, 0, 123456}
}                                                 }

{                                                 {
    flags: {unread = true}                             flags: {unread = true}
    body: "Ahoj, ......"                               body: "Ahoj, ......"
    vclock: {0, 1, 123460}                             vclock: {0, 1, 123460}
}                                                 }
----slide--

Content-Type: text/x-architecture-storage



                        HTTP, POP3           Proxy           Fetcher
                                                                                 FastRPC
   Internet                                                                      Storage
                                             POP3            IMAPv4


                                                                            Ebox
                                     I/O                  Storage


                                                                             Storage



                                           DH1             DH2                DH3

                                       00*, 11*, ...   00*, 11*, ...   22*, 33*, …

              Princip hashování:
              EMAIL → 0011223344556677 → DH1
----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
----slide--

      Content-Type: text/x-questions




                      Děkuji za pozornost
          Michal Bukovský <michal.bukovsky@firma.seznam.cz>

                         http://vyvojari.seznam.cz

                           http://seznam.sblog.cz

                       http://opensource.seznam.cz



----slide----

More Related Content

Viewers also liked

Saddleback Publications - 2013
Saddleback Publications - 2013Saddleback Publications - 2013
Saddleback Publications - 2013K.C. Boyd
 
Portal Educativo Xunta
Portal Educativo XuntaPortal Educativo Xunta
Portal Educativo Xuntapcuestacefore
 
Литературные премии 2014 года
Литературные премии 2014 годаЛитературные премии 2014 года
Литературные премии 2014 годаOpenLibrary35
 
Перспективы продления жизни - Последние научные достижения (И. Артюхов)
Перспективы продления жизни - Последние научные достижения (И. Артюхов)Перспективы продления жизни - Последние научные достижения (И. Артюхов)
Перспективы продления жизни - Последние научные достижения (И. Артюхов)Matvey Ezhov
 
15 Top Web Design Trends for 2014
15 Top Web Design Trends for 201415 Top Web Design Trends for 2014
15 Top Web Design Trends for 2014mbeatrizoliveira
 
Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...
Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...
Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...Καλλιεργώ / Kalliergo
 

Viewers also liked (13)

Ray+Keshavan | The Brand Union – Healthcare
Ray+Keshavan | The Brand Union – HealthcareRay+Keshavan | The Brand Union – Healthcare
Ray+Keshavan | The Brand Union – Healthcare
 
List of Verbs
List of VerbsList of Verbs
List of Verbs
 
Saddleback Publications - 2013
Saddleback Publications - 2013Saddleback Publications - 2013
Saddleback Publications - 2013
 
Portal Educativo Xunta
Portal Educativo XuntaPortal Educativo Xunta
Portal Educativo Xunta
 
Details of website
Details of websiteDetails of website
Details of website
 
Литературные премии 2014 года
Литературные премии 2014 годаЛитературные премии 2014 года
Литературные премии 2014 года
 
Перспективы продления жизни - Последние научные достижения (И. Артюхов)
Перспективы продления жизни - Последние научные достижения (И. Артюхов)Перспективы продления жизни - Последние научные достижения (И. Артюхов)
Перспективы продления жизни - Последние научные достижения (И. Артюхов)
 
Kinas moderna historia
Kinas moderna historiaKinas moderna historia
Kinas moderna historia
 
Puddles
PuddlesPuddles
Puddles
 
Healthy Hilltowns
Healthy Hilltowns Healthy Hilltowns
Healthy Hilltowns
 
15 Top Web Design Trends for 2014
15 Top Web Design Trends for 201415 Top Web Design Trends for 2014
15 Top Web Design Trends for 2014
 
Kleeneze 2011 ewb 10
Kleeneze 2011 ewb 10Kleeneze 2011 ewb 10
Kleeneze 2011 ewb 10
 
Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...
Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...
Ντομάτα / Καλλιέργεια,πότισμα,εχθροί και ασθένειες,αποστάσεις σποράς,τι έδαφο...
 

More from seznamVyvojari

Odpoledne s vyvojari - mobilni aplikace
Odpoledne s vyvojari - mobilni aplikaceOdpoledne s vyvojari - mobilni aplikace
Odpoledne s vyvojari - mobilni aplikaceseznamVyvojari
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidechseznamVyvojari
 
SEO - optimalizace pro vyhledávače
SEO - optimalizace pro vyhledávačeSEO - optimalizace pro vyhledávače
SEO - optimalizace pro vyhledávačeseznamVyvojari
 
Content delivery network a video
Content delivery network a videoContent delivery network a video
Content delivery network a videoseznamVyvojari
 
Velké obsahové systémy
Velké obsahové systémyVelké obsahové systémy
Velké obsahové systémyseznamVyvojari
 
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čkyseznamVyvojari
 
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 (15)

Analytika
AnalytikaAnalytika
Analytika
 
Odpoledne s vyvojari - mobilni aplikace
Odpoledne s vyvojari - mobilni aplikaceOdpoledne s vyvojari - mobilni aplikace
Odpoledne s vyvojari - mobilni aplikace
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidech
 
SEO - optimalizace pro vyhledávače
SEO - optimalizace pro vyhledávačeSEO - optimalizace pro vyhledávače
SEO - optimalizace pro vyhledávače
 
Mapy.cz
Mapy.czMapy.cz
Mapy.cz
 
Content delivery network a video
Content delivery network a videoContent delivery network a video
Content delivery network a video
 
Velké obsahové systémy
Velké obsahové systémyVelké obsahové systémy
Velké obsahové systémy
 
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
 

Seznam.cz email

  • 1. From: =?utf-8?q?Michal_Bukovsk=C3=BD?= <michal.bukovsky@firma.seznam.cz> To: undisclosed-recipients: ; Subject: Seznam.cz Email Date: Tue, 9 Oct 2012 12:00:00 +0200 (CEST) Content-Type: multipart/x-presentation; boundary=--slide--
  • 2. ----slide-- Content-Type: text/x-presentation-content ➔Architektura emailu ➔Příjem a odesílání pošty ➔Ukládání dat ➔Ochrana proti SPAMu a virům ➔Technologie
  • 3. ----slide-- Content-Type: text/x-numbers ➔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ů
  • 4. ----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ář
  • 7. ----slide-- Content-Type: text/x-architecture-io SMTP FastRPC GList SMTPD Internet Storage SMTP Storage SMTPC QM Storage
  • 8. ----slide-- Content-Type: text/x-architecture-io SMTP FastRPC GList SMTPD Internet Storage SMTP Storage SMTPC QM Storage SA SA Scanner Storage NOD32 nod32
  • 9. ----slide-- Content-Type: text/x-architecture-io SMTP FastRPC GList SMTPD Internet Storage Storage Bouncer SMTP Storage SMTPC QM Storage Storage Storage SA Storage SA Scanner MDA Storage NOD32 nod32
  • 10. ----slide-- Content-Type: text/x-architecture-storage HTTP, POP3,... Proxy Fetcher Internet FastRPC POP3 IMAPv4 SMTP ... { msg: {...} Ebox TTC id: 3 vclock: {0, 1, 123456} I/O } FastRPC { Storage msg: {...} id: 4 FastRPC vclock: {2, 1, 123460} } { Ebox NG msg: {...} id: 1 vclock: {8, 0, 123477} }
  • 11. ----slide-- Content-Type: text/x-architecture-set-vs-set Ebox NG Ebox TTC { { flags: {unread = true} flags: {unread = true} body: "Ahoj, ......" body: "Ahoj, ......" vclock: {0, 0, 123456} vclock: {0, 0, 123456} } } { { flags: {unread = false} flags: {unread = false} body: "Ahoj, ......" body: "Ahoj, ......" vclock: {0, 1, 123460} vclock: {1, 0, 123461} } } { { flags: {unread = false} flags: {unread = false} body: "Ahoj, ......" body: "Ahoj, ......" vclock: {1, 1, 123461} vclock: {1, 1, 123461} } }
  • 12. ----slide-- Content-Type: text/x-architecture-set-vs-remove Ebox NG Ebox TTC { { flags: {unread = false} flags: {unread = false} body: "Ahoj, ......" body: "Ahoj, ......" vclock: {0, 0, 123456} vclock: {0, 0, 123456} } } { { flags: {unread = true} flags: {unread = false} body: "Ahoj, ......" body: "Ahoj, ......" vclock: {0, 1, 123460} vclock: {1, 0, 123456} } } { { flags: {unread = true} flags: {unread = true} body: "Ahoj, ......" body: "Ahoj, ......" vclock: {0, 1, 123460} vclock: {0, 1, 123460} } }
  • 13. ----slide-- Content-Type: text/x-architecture-storage HTTP, POP3 Proxy Fetcher FastRPC Internet Storage POP3 IMAPv4 Ebox I/O Storage Storage DH1 DH2 DH3 00*, 11*, ... 00*, 11*, ... 22*, 33*, … Princip hashování: EMAIL → 0011223344556677 → DH1
  • 14. ----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
  • 15. ----slide-- Content-Type: text/x-spam-scanner ➔Domain Keys ➔SpamAssassin ➔Bayes – SA, Bogofilter ➔IP/URL DNS Blacklisty ➔DCC Blacklisty ➔Sbírání URL
  • 16. ----slide-- Content-Type: text/x-spam-smtpc ➔Nejen spameři jsou na blacklistech ➔CAPTCHA na webmailu ➔Více odchozích IP adres
  • 17. ----slide-- Content-Type: text/x-viruses ➔Nod32 – scanner ➔Aktualizace – opět velký traffic výhodou ➔V dnešní době menší problém než spam
  • 18. ----slide-- Content-Type: text/x-technologies ➔C++, STL, Boost, Python ➔Proprietární databáze metadat ➔(MySQL) ➔FastRPC, HTTPStorage ➔MTD, MetaServer ➔Memcache
  • 19. ----slide-- Content-Type: text/x-questions Děkuji za pozornost Michal Bukovský <michal.bukovsky@firma.seznam.cz> http://vyvojari.seznam.cz http://seznam.sblog.cz http://opensource.seznam.cz ----slide----