Jeder braucht Traffic, wir verkaufen ihn! In diesem SeoCampixx-Workshop wurde es technisch: Wie DNTX.com monatlich mehr als 300 Millionen Unique User im Realtime Bidding Verfahren verarbeitet und welche Möglichkeiten es für Skalierung, Antwortzeiten < 1s und Ausfallsicherheit für diese Trafficmassen gibt.
Themen waren das Zusammenspiel von MongoDB, NodeJS, nginx und virtualisierter Hardware.
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding
1. 300+ Mio User pro Monat im Realtime
Bidding
Markus Ostertag
2. Wer bin ich?
• Online seit 1994
• Webseiten seit 1996
• Diplom-Informatik TU München
• Gründer MovieMaze.de (Verkauf 2012)
• Skalierungsfuzzi bei Onpage.org
• Seit 11/2012 bei Team Internet als Head of Development
(Advertiser Products)
300+ Mio User pro Monat im Realtime Bidding
3. Wer bin ich?
• Technisch „anders“ denken
• Campixx 2011
– Performance von Webseiten
• Campixx 2012
– Amazon Webservices
• Technische Produkte/Ideen als Anreiz für Eigenrecherche
300+ Mio User pro Monat im Realtime Bidding
4. Wer sind wir?
• Team Internet AG
• Nische: Domaining
– Sitz in München
– Ca. 15 Leute
300+ Mio User pro Monat im Realtime Bidding
5. Was ist DNTX?
• 2nd tier Monetarisierung von Domain Parking Traffic
• Ablauf:
– User tippt im Browser eine Keyword-Domain ein (z.B.
bodybuilding.info)
– Domain ist von einem Domainer geparkt
– Kunde (bodybuilding.com) bucht diesen Traffic als PPR (Pay-per-
Redirect) bei DNTX
– User wird mit einer Zwischenseite zu bodybuilding.com geleitet
300+ Mio User pro Monat im Realtime Bidding
6. Was passiert da technisch?
• User tippt Domain ein, die geparkt ist
• Parkingplattform macht einen Feed-Request bei DNTX
– IP
– UserAgent
– Domain
– Optional: Keywords
300+ Mio User pro Monat im Realtime Bidding
7. Was passiert da technisch?
• DNTX wertet diese Information aus/reichert an (Geo-
Targeting, UA-Auswertung)
• Sucht nach höchstem Gebot für diesen User (Real Time
Bidding)
• DNTX antwortet der Parkingplattform mit dem höchsten
Gebot und einem Tracking-Link
• Parkingplattform nimmt Gebot an und leitet per 302 auf
DNTX-Trackinglink
• DNTX übernimmt User und leitet auf Zielseite
300+ Mio User pro Monat im Realtime Bidding
8. Technische Herausforderungen
• >200 Requests/Sekunde auf den Feed (> 17 Mio. pro Tag)
• >300 Mio. Unique User im Monat
• Antwortzeiten müssen <1 Sek. sein
• RTB komplex, wegen externer/interner Anfragen
• Verarbeitung von >25GB Tracking-Daten pro Tag
• Traffic >1,5TB Incoming & >2 TB Outgoing
300+ Mio User pro Monat im Realtime Bidding
10. AWS
• Virtualisierte Hardware bei Amazon EC2
– Skalierbarkeit
• EBS-Volumes als Datenspeicher
• S3/Glacier für Backups
• Virtual Private Cloud
– Mehrere Rechenzentren
300+ Mio User pro Monat im Realtime Bidding
11. Node.js
• JavaScript Framework
• Google V8 Engine (identisch zu Chrome)
• Non-blocking
• Event-driven
• Lightweight (geringer Memory-Footprint)
• Npm (node package manager)
300+ Mio User pro Monat im Realtime Bidding
13. MongoDB
• High performance
• Schemafrei
• Dokumentenbasiert
• Horizontal skalierbar
– Sharding
– Replica Sets
• Datacenter Awareness
• Node.js & MongoDB = ♥
300+ Mio User pro Monat im Realtime Bidding
14. MongoDB
• >300.000 Queries pro Sekunde
– Ca. 75% Writes
• >99,9% aller Queries werden in <50ms
beantwortet/verarbeitet
• Verteilt auf mehrere Rechenzentren
– Ausfallsicherheit
300+ Mio User pro Monat im Realtime Bidding
15. Sharding in MongoDB
Quelle: http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-amazon-ec2/
300+ Mio User pro Monat im Realtime Bidding
16. Replica Sets in MongoDB
Quelle: http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-amazon-ec2/
300+ Mio User pro Monat im Realtime Bidding
17. Notizzettel
• Es gibt mehr
– als Apache
• Nginx
• lighttpd
– als PHP
• Node.js
– als MySQL
• MongoDB
• NoSQL
– als 1&1
• virtualisierte Hardware für (finanzielle) Flexibilität
• Out of the Box/kreativ denken!
300+ Mio User pro Monat im Realtime Bidding