Plug-in: Hosten von Smartstore in einer Webfarm
Donnerstag, 12. September 2019

Plug-in: Hosten von Smartstore in einer Webfarm

Was bedeutet es, Smartstore in einer Webfarm zu betreiben? 
Ein Onlineshop, der sehr viele Besucher hat, erzeugt natürlich auch viele Warenkörbe, woraus viele Sessions generiert werden müssen. Darin werden benutzerdefinierte Daten gespeichert, wie zum Beispiel der Warenkorb eines Kunden. Hat ein Shop z.B. an einem Black Friday viele Besucher, führt dies sehr schnell zu einer großen Menge an Daten. Je höher die Datenmenge, umso langsamer das Lesen dieser und die damit verbundenen Ladezeiten erhöhen sich. Für den Kunden ist das eine Zumutung, die Conversion Rate verschlechtert sich und kann zu Kaufabbrüchen führen. 

Gibt es eine Lösung, um dieses Problem zu umgehen? 
Ja, die gibt es und diese heißt REDIS. Redis (REmote DIctionary Server) ist eine speicherinterne Schlüsselwertdatenbank, die üblicherweise als Datenstrukturserver bezeichnet wird. Einer der Hauptunterschiede zwischen Redis und anderen Schlüsselwertdatenbanken ist die Fähigkeit von Redis, Datentypen auf hoher Ebene zu speichern und zu bearbeiten. Diese Datentypen sind grundlegende Datenstrukturen (Listen, Maps, Mengen und sortierte Mengen), mit denen die meisten Entwickler vertraut sind. Die außergewöhnliche Leistung von Redis eignet sich zur Lösung von Problemen, die bei der Implementierung mit herkömmlichen relationalen Datenbanken schwierig oder schlecht sind. 

Unternehmen die REDIS einsetzen: 

  • Twitter - Bereitstellung eines umfangreichen Redis-Clusters zum Speichern der Zeitleisten für alle Benutzer.
  • Pinterest - Speichert die User Follower-Diagramme in einem Redis-Cluster, in dem Daten über Hunderte von Instanzen verteilt gespeichert werden.
  • Github - Als einer der ersten Anwender des Redis-Projekts hat Github die Bibliothek Resque entwickelt und als Open-Source- Version bereitgestellt, um die Ausführung von Hintergrundjobs zu vereinfachen, die in eine Warteschlange gestellt wurden. 
Die Kombination von Datenstrukturen auf hohem Niveau, hoher Leistung und allgemeiner Intuitivität ermöglicht es Redis, die Rolle als Schweizer Taschenmesser für Datenspeicher zu übernehmen. Dank der Vorhersagbarkeit der Operationen, die auf die Daten in der Datenbank angewendet werden, eignet sich Redis gut zur Lösung von Problemen, die bei der Entwicklung von Echtzeitsystemen auftreten. Redis führt einen großteil seiner Leistung darauf zurück, dass sich die Daten immer im Arbeitsspeicher befinden. 

Wie kann ich Redis bekommen und was kostet das ganze? 
Redis kann man nicht einzeln erwerben, dieser ist fester Bestanteil der Enterprise Edition

Das Smartstore Redis Plugin enthält 4 Module (sprich: Redis-Adapter): 

  • Redis.Data-Cache (löst den Standard-RAM-Cache ab)
  • Redis.OutputCache (löst den Standard RAM-OutputCache ab)
  • Redis.SessionState (löst den Standard ASP.NET RAM SessionStore ab)
  • Redis.MessageBus (Ermöglicht die Server-zu-Server Kommunikation in einer Webfarm)
Multi-Level Cache: 1. Level: Server-RAM – 2. Level: Redis > extrem hohe Performance. Eliminiert den Nachteil von evtl. schlechter Netzwerk-Latenz. Deutlich schnelleres AppRestart, da der Cache Anwendungsneustarts überdauert und Zero-Configuration (außer Redis-Installation selbst).

Das "Redis (REmote DIctionary Server)" Plugin ist eine Eigenentwicklung der Smartstore AG für den Smartstore Shop und ab der Smartstore Enterprise Edition enthalten. 

Haben Sie noch Fragen zum Thema "Redis (REmote DIctionary Server)" oder möchten uns ein Feedback geben? Sie erreichen uns über das Kontaktformular, per E-Mail an info@smartstore.com oder telefonisch von Montag bis Freitag zwischen 10 und 16 Uhr unter der Telefonnummer +49 231 5335 0.

Ihr Kommentar