© saicle/Shutterstock.com
Reimplementierung eines Onlineshops mit einer NoSQL-Datenbank in der Cloud

Weltweites Shopping auf der Couch


Dieser Artikel startet eine Artikelserie, in der wir die vollständige Neuimplementierung des Goodgame-Studios-Onlineshops beschreiben werden.

In diesem Artikel gehen wir auf die grundsätzlichen Anforderungen und Designentscheidungen für die Reimplementierung des Onlineshops sowie die Konzeption einer skalierbaren Architektur auf der Grundlage aktueller PHP-Technologien ein. In weiteren Artikeln werden wir uns gezielt einzelnen technischen Herausforderungen widmen: Wie wir die weltweite Datenhaltung mittels einer NoSQL-Datenbank organisiert haben, wie wir die Infrastruktur und Architektur darauf ausrichten konnten, in der Cloud elastisch skalierbar zu funktionieren, und wie wir unser Performanceziel erreichen.

Artikelserie

Teil 1: Weltweites Shopping auf der Couch

Teil 2: For the Masses – NoSQL mit großen Datenmengen

Teil 3: For the Cloud – Global skalieren

Teil 4: For Performance – Infrastruktur, Backend, Frontend und Real-User-Performance

Das Setting

Goodgame Studios bietet kostenlose Onlinespiele im Web und auf mobilen Geräten an. Mittlerweile haben sich über 210 Mio. Nutzer für die Spiele registriert. Diese greifen aus 230 Ländern (Google Analytics) auf die Systeme zu und erzeugen 350 Mio. Dateiaufrufe pro Tag. Die Nutzer haben im Spiel die Möglichkeit, Dekorationen und Beschleunigungen mittels In-Game-Währung zu kaufen. Dafür gibt es einen weltweiten Onlineshop, in dem die Transaktionen zügig abgewickelt werden sollen. Über 28 Mio. Nutzer haben diesen Shop bereits benutzt.

Während die Spieleclients in ActionScript (Flash) und die Spieleserver in Java geschrieben sind, wurde der Onlineshop bewusst in PHP 5 entwickelt, um die Dynamik, Flexibilität und Performanz der Sprache auszunutzen.

Der ursprüngliche Onlineshop ist zusammen mit den ersten Spielen entstanden und war schnell an seine Grenzen gekommen. Die Architektur war nicht für die notwendigen Erweiterungen und Skalierung geeignet, sodass eine Reimplementierung geplant wurde. Dadurch konnten die neuesten Frameworks und Technologien genutzt werden, um für einen längeren Zeitraum und anspruchsvollere Anforderungen gewappnet zu sein.

Nicht funktionale Anforderungen für einen weltweiten Onlineshop

Die Anforderungen für aktuelle Webanwendungen sind hoch. Die Anwender erwarten neben einer hohen Usability und grafisch ansprechenden Gestaltung einen großen Funktionsumfang und schnelle Reaktionszeiten. Mittlerweile sind hohe Auflösungen bei den Clients weit verbreitet. Telefone, Tablets und Laptops haben ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang