XING

Die Herausforderung

Wie schafft man eine skalierbare Echtzeitsuche für ein berufliches soziales Netzwerk mit 14 Millionen Mitgliedern weltweit?

Die Lösung

Mit Elasticsearch eine Echtzeitindexierung für Millionen täglicher Updates der Mitglieder bereitstellen.

Ein erstklassiges Benutzererlebnis erreichen

  • XING ist das größte berufliche soziale Netzwerk Europas und hat etwa 14 Millionen Mitglieder
  • Die Suche ist eine Schlüsselkomponente der XING-Plattform und hilft den Mitgliedern des Netzwerks, Jobs, Kollegen, neue Aufgaben und Partner zu finden
  • Die Suchergebnisse müssen nach Updates der Mitglieder — mehr als eine Million täglich — sofort aktualisiert werden

Fokus auf Skalierbarkeit und Reaktionszeit

  • Durch die Echtzeitindexierung können alle Änderungen auf der Plattform sofort gesucht werden
  • Nutzung der Vorteile eines dezentralen Systems
  • Zuverlässigkeit bei Hardware-Ausfällen wird verlangt

14 Millionen Geschäftsleute weltweit vernetzen

Mit 14 Millionen Mitgliedern ist XING eines der führenden sozialen Netzwerke in Europa. Die Hälfte der XING-Mitglieder kommt aus Deutschland, der Rest verteilt sich auf Europa, Asien und Australien. Der Zweck von XING ist die Vernetzung von Geschäftsleuten. Mit über 6 Millionen Suchanfragen pro Tag ist die Suche die wichtigste Funktion der Website und Mobile-Anwendungen von XING, unabhängig davon, ob die Benutzer nach anderen Mitgliedern, Fachgruppen, Jobs, Veranstaltungen oder geschäftsbezogenen Inhalten suchen.

„Laut der Kundenumfrage, die wir quartalsweise durchführen, ist die Suche die wichtigste Funktion unserer Plattform.“

Dr. Daniel Olmedilla, Vice President, Data Science

Echtzeit-Handling von einer Million Updates täglich

„Laut der Kundenumfrage, die wir quartalsweise durchführen, ist die Suche die wichtigste Funktion unserer Plattform“, weiß Dr. Daniel Olmedilla, Vice President, Data Science bei XING. „Wenn wir hohe Verzögerungen beim Aktualisieren der Daten hätten, wäre das schlechter Service. In der Vergangenheit gab es öfter Beschwerden von Kunden, die ihr Profil geändert oder eine neue Stellenanzeige erstellt hatten und die Inhalte nicht finden konnten. Sie dachten, es handele sich um einen Systemfehler, nicht um eine technische Beschränkung.“

Aber es wurde noch schlimmer: Die Reaktionszeit der Suche war lang, die Ergebnisse teilweise falsch oder unvollständig, und manchmal brach die Suche einfach mit einer Zeitüberschreitung ab und lieferte gar keine Ergebnisse.

„Wir hatten Probleme mit der Echtzeitindexierung“, führt er weiter aus. „Wenn Benutzer Profiländerungen gepostet haben, dauerte es im schlimmsten Fall bis zu 50 Minuten, bevor jemand nach den neuen Inhalten suchen konnte.“

„Wir mussten etwas finden, das schneller war und bessere Suchergebnisse lieferte“, sagt Holger Buerger, Director of Site Operations bei XING. „Deshalb wechselten wir zu Elasticsearch.“

Nutzung einer dezentralen Architektur

„Elasticsearch ist ein grundlegender Bestandteil unserer Infrastruktur“, bestätigt Buerger. „Für XING ist Elasticsearch ein entscheidender Teil unserer Plattform, denn die Suche ist die wichtigste Funktion, die wir unseren Benutzern bieten.“

XING nutzt Elasticsearch als Basis für alle suchbezogenen Dienstleistungen im Unternehmen. Wenn XING-Kunden nach Mitgliedern, Jobs, Gruppen, Veranstaltungen oder sonstigen Inhalten auf der XING-Site suchen, läuft Elasticsearch im Hintergrund. Außerdem nutzen die Entwickler von XING Elasticsearch intern, um erweiterte Dienste und Produkte zu entwickeln — zum Beispiel das neue Empfehlungssystem, das Inhalte besser auf die Bedürfnisse der Benutzer zuschneidet.

„Die automatische Echtzeitindexierung in Elasticsearch ermöglicht die sofortige Suchbarkeit aller Änderungen an der Plattform und aller neuen Daten“, sagt Olmedilla.

Olmedilla weist außerdem darauf hin, dass eine dezentrale und hochverfügbare Suchplattform essenziell ist, weil XING so sehr darauf angewiesen ist. Die dezentrale Architektur von Elasticsearch gewährleistet, dass die XING-Plattform keine Leistungseinbrüche erleidet oder vom Netz geht, wenn ein Server ausfällt.

„Ausfallsicherheit ist wichtig“, meint Olmedilla. „Wenn wir ein Problem mit einem Server haben, können wir dank Elasticsearch unsere Site weiter betreiben und die Kunden problemlos bedienen. Wenn wir unsere Technik aufrüsten, geht das ohne Stillstand vonstatten.“

Mit Elasticsearch können die XING-Entwickler neue Funktionen einführen

„Mit Elasticsearch können wir auf einfache Weise einen Cluster skalieren, um neue Anforderungen zu erfüllen“, sagt Olmedilla.

ING fügt weiter neue Datenströme hinzu, um das Erlebnis der Kunden zu verbessern. Zum Beispiel hat das XING-Entwicklungsteam kürzlich Nachrichten als neue Inhaltsart hinzugefügt. Dazu war ein vollkommen neuer Index nötig, aber die Funktion wurde schnell und einfach hinzugefügt. Elasticsearch skaliert horizontal, um mit dem Datenwachstum Schritt zu halten.

Diese Verbesserungen sind typisch für XING, wo die Entwickler ständig nach neuen Inhaltsarten Ausschau halten, die gesucht werden können. Elasticsearch gibt ihnen die Flexibilität, potenzielle neue Funktionen auszuprobieren und diese gleichzeitig schnell zu implementieren.

Die Auto-Vervollständigung ist nur ein Beispiel für eine neue Funktion, die Elasticsearch im Hintergrund nutzt und einfach vom XING-Entwicklungsteam hinzugefügt wurde. Die Funktion schlägt während der Benutzereingabe Wörter vor, um die Suchbegriffe zu vervollständigen. Laut Olmedilla werden die Empfehlungen für die Benutzer mit Elasticsearch im Backend viel schneller entwickelt und berechnet und die Gesamtqualität der Empfehlungen hat sich stark verbessert.

„Elasticsearch trägt zu einem schnellen Entwicklungsprozess bei, wenn wir neue Funktionen hinzufügen“, führt Olmedilla weiter aus. „Die Elasticsearch-APIs sind sehr benutzerfreundlich. Funktionalität und Leistung sind ausgezeichnet.“

Vorteile für XING durch Elasticsearch

Echtzeitaktualisierung

Vorher brauchten Updates im XING-System eine Ewigkeit, bis sie gesucht werden konnten. Jetzt werden Updates automatisch und sofort in Elasticsearch erledigt.

Einfache Skalierbarkeit

Mit Elasticsearch kann XING einfach und wirtschaftlich skalieren, um neue Benutzer und Inhalte hinzuzufügen.

Zuverlässigkeit und Verfügbarkeit

Die Stabilität und Hochverfügbarkeit von Elasticsearch gewährleistet die Integrität der Abfrageergebnisse und schützt das System vor geplanten und ungeplanten Ausfallzeiten.

Flexibilität bei der Entwicklung

Elasticsearch gibt XING einen Wettbewerbsvorteil, indem es ihren Entwicklern eine flexible Plattform bietet, mit der sie neue Benutzerfunktionen entwerfen und diese schnell implementieren können.