11 Punkte von xguru 2024-12-07 | 2 Kommentare | Auf WhatsApp teilen
  • Eine KI-basierte Open-Source-Plattform für Customer Engagement, die dabei unterstützt, mithilfe von Daten personalisierte User Journeys in großem Maßstab zu entwerfen
    • Open-Source-Alternative zu Customer.io
  • Probleme bestehender Tools: hohe Kosten und die Schwierigkeit, den gesamten bestehenden Kommunikations-Stack austauschen zu müssen
  • LimeJourney wurde nach den folgenden zwei Prinzipien entwickelt:
    • Open-Source-Zugänglichkeit: Für Entwickler und kleine Teams kostenlos nutzbar. Für alle, die eine Managed-Lösung bevorzugen, wird auch eine Cloud-Version angeboten
    • Unterstützung bestehender Integrationen (BYOI): Integration mit vorhandenen Tools wird unterstützt, ein Austausch des gesamten Stacks ist nicht erforderlich

Hauptfunktionen

  • KI-basierte Einblicke: Unterstützt das Verständnis von Kunden mithilfe von KI-Modellen
  • Visueller Journey Builder: Komplexe User Journeys lassen sich über eine intuitive Drag-and-Drop-Oberfläche erstellen
  • Dynamische Segmentierung: Segmente können auf Basis von User Events oder Eigenschaften erstellt werden
    • Beispiel: "Nutzer, die in den letzten 30 Tagen keinen Kauf getätigt haben"
  • Integrationen: Kann mit bestehenden Tools und Services verbunden werden; Integrationen für die Datenerfassung werden laufend ergänzt

Tech-Stack von LimeJourney

  • Full-Stack-Monorepo-Anwendung (geschrieben in TypeScript)
  • Zentrale Technologien:
    • Turbo: Monorepo-Verwaltung
    • Next.js: Entwicklung der Web-App
    • TailwindCSS: Styling
    • Express: API-Entwicklung
    • TSOA: Generierung von API-Routen und OpenAPI-Dokumentation
    • PostgreSQL: primärer Datenspeicher
    • Redis: KV-Store zur Verwaltung des Journey-Trigger-Mappings
    • ClickHouse: Verwaltung großer Mengen an Event-/Entity-Daten und Echtzeit-Segmentierung
    • Temporal: Ausführung der im visuellen Journey Builder erstellten Journeys
    • Kafka: zentraler Event-Bus (gehostet bei Upstash)

Backend-Architektur

Kernkomponenten

  • Event-Streaming-Backbone (auf Kafka-Basis)
    • Hochgeschwindigkeitsverarbeitung von User- und System-Events
    • Unterstützt asynchrone Kommunikation zwischen Modulen innerhalb des Systems
    • Sorgt durch Event Sourcing für Datenkonsistenz und Wiederabspielbarkeit
  • Echtzeit-Segmentierungs-Engine
    • Nutzt die High-Performance-Query-Funktionen von ClickHouse
    • Erstellt dynamische Segmente auf Basis von User-Eigenschaften und -Verhalten
    • Schnelle Segmentberechnung auch in großem Maßstab
  • Journey-Orchestrierung
    • Verwaltet komplexe User Journeys auf Basis von Temporal
    • Gewährleistet Workflow-Zuverlässigkeit und Wiederherstellung bei Ausfällen
    • Unterstützt das Pausieren, Fortsetzen und Ändern von Journeys
  • Entity-Management
    • Verwaltung von User-Profilen und -Eigenschaften
    • Veröffentlicht Änderungs-Events für Entities
    • Stellt plattformweit konsolidierte User-Daten bereit

Datenfluss und Interaktionen

  1. User-Aktionen (z. B. Seitenaufrufe, Käufe) erzeugen Events, die an Kafka übermittelt werden
  2. Die Events werden in ClickHouse gespeichert, um Analysen großer Datenmengen zu unterstützen
  3. Die Segmentierungs-Engine aktualisiert auf Basis aktueller Events und Daten User-Segmente in Echtzeit
  4. Segmentierungsänderungen oder bestimmte Events lösen die Journey-Orchestrierung aus
  5. Temporal verwaltet die Journeys und führt dabei die folgenden Aufgaben aus:
  • Abruf von User-Daten und Event-Historie
  • Prüfung des aktuellen Segmentierungsstatus
  • Auslösen externer Aktionen (z. B. Versand von E-Mails, Push-Benachrichtigungen)
  1. Bei wichtigen Aktionen oder Statusänderungen werden neue Events erzeugt und wieder ins System eingespeist

2 Kommentare

 
kandk 2024-12-09

Ist Kafka für solch große Event-Mengen geeignet?

 
yangeok 2024-12-16

Man nutzt es ja, weil asynchrone Verarbeitung nötig ist, daher wäre es nicht passend?