Optimierung des automatisierten Deal-Matchings
RiseX
Das automatisierte System zur Zuordnung von Inseraten funktionierte über mehrere Jahre hinweg stabil. Mit wachsendem Transaktionsvolumen trat jedoch ein strukturelles Problem zutage: Es wurden Transaktionen erstellt, obwohl keine gültigen Zahlungsdaten mehr verfügbar waren. Die Folge:
- Gelder der Nutzer wurden in nicht durchführbaren Transaktionen blockiert
- Die Datenbank wurde mit überflüssigen Transaktionen belastet
- Die Systemlast stieg – ohne praktischen Nutzen
In der Praxis sah das so aus: Von 1.000 Transaktionen mussten im Schnitt 200 nachträglich storniert werden, weil dem ausgewählten Inserat keine verfügbaren Zahlungsdaten mehr zugeordnet werden konnten. Das Problem wurde erst nach der Erstellung der Transaktion erkannt, wenn das System keine passenden Zahlungsdaten mehr finden konnte. Die Konsequenz: unnötige Datenbank- und Queue-Last sowie ein spürbar schlechteres Nutzererlebnis.
Nach Überarbeitung des Algorithmus prüft das System nun bereits beim Auswahlprozess eines Inserats, ob verfügbare Zahlungsarten vorhanden sind. Dadurch werden nicht passende Angebote im Vorfeld ausgeschlossen – die Plattform bleibt schlanker und performanter.
Zielsetzung
Ziel war es, einen robusten Mechanismus zu entwickeln, der:
- Zahlungsdaten mit ausgeschöpftem Limit automatisch vom Matching ausschließt
- sicherstellt, dass jede generierte Transaktion technisch durchführbar ist
- Nutzern erlaubt, die Priorität ihrer Zahlungsdaten individuell zu definieren
Eine weitere Anforderung: Die Umstellung musste ohne Downtime erfolgen.
Die Umsetzung
Limitüberwachung für Zahlungsdaten
Zahlungsdaten erhalten ein eigenes Tracking:
- Wie oft wurde sie verwendet?
- Wie hoch ist die Gesamtsumme der Transfers?
- Ist das definierte Limit erreicht?
Ist der Grenzwert überschritten, werden die Zahlungsdaten automatisch aus dem Pool entfernt.
Dynamische Auswahl neuer Zahlungsdaten
Bei Limitüberschreitung greift das System auf zwei Strategien zurück:
- Zufällige Auswahl aus den verbleibenden verfügbaren Zahlungsarten
- Benutzerdefinierte Priorisierung, sofern im Benutzerkonto hinterlegt
Das ermöglicht maximale Flexibilität in der Steuerung nach geschäftlichen Vorgaben.
Eventbasierte Limitaktualisierung
Die Limitverwaltung erfolgt ereignisgesteuert über Laravel Events:
- Bei erfolgreicher Transaktion → Zahlungsdaten-Statistik wird aktualisiert
- Bei Stornierung → Keine Änderung an den Daten
So werden aufwändige Hintergrundprozesse vermieden und das System bleibt skalierbar.
Frühe Filterung ungeeigneter Inserate
Inserate mit ausschließlich ungültigen Zahlungsdaten werden bereits vor der Erstellung der Transaktion herausgefiltert. Das verhindert unnötige Last und hält die Datenbank schlank.
Ergebnisse
- Keine “toten” Transaktionen mehr – alle sind ausführbar
- Reduzierte Anzahl überflüssiger Operationen und Datenbankabfragen
- Schnellere Transaktionsverarbeitung
- Stabile und vorhersehbare Abläufe
- Mehr Kontrolle für Nutzer dank konfigurierbarer Zahlungsdaten-Priorität
Technologie-Stack
- Laravel – Hauptframework, Event-System, Warteschlangen
- Redis – Caching der Zahlungsdaten-Limits, Zähler, Queue-Backend (Redis Driver)
- Laravel Queue – Asynchrone Verarbeitung von Statistiken und Events
- MySQL – Zentrales Speichersystem für Benutzereinstellungen und Statuswerte
Warum das zählt
Solche Herausforderungen lassen sich nicht mit Standardlösungen bewältigen. Sie erfordern ein tiefes Verständnis für Geschäftsprozesse, stabile Systemarchitektur und präzises Transaktionshandling.
Wir liefern keine Schnellschüsse, sondern tragfähige technische Lösungen an den kritischen Stellen Ihrer Infrastruktur – skalierbar, robust und produktionssicher.