1. Die Bestellung wurde erfolgreich aufgegeben und innerhalb von 30 Minuten erfolgte keine Zahlung. Zahlungszeitüberschreitung,Bestellung wird automatisch storniert
2. Bestelleingang,Es wird keine Bewertung innerhalb von 7 Tagen nach Erhalt durchgeführt. Zeitüberschreitung der Bestellung und Nichtbeurteilung,Das System geht standardmäßig auf positive Bewertungen zurück
3.Bestellung erfolgreich aufgegeben,Händler hat die Bestellung 5 Minuten lang nicht angenommen,Bestellung abgebrochen
4.Push SMS-Erinnerung
… …
Für Szenarien mit langen Verzögerungen und geringer Echtzeitleistung können wir die Aufgabenplanung verwenden, um Abfragen in regelmäßigen Abständen durchzuführen. Zum Beispiel xxl-job
Heute verwenden wir eine relativ einfache und leichte Methode – die Verzögerungswarteschlange von Redis für die Verarbeitung. Natürlich gibt es bessere Lösungen – Sie können die optimale Lösung basierend auf der Technologieauswahl und dem Geschäftssystem des Unternehmens auswählen. Zum Beispiel mit der Nachrichten-Middleware Kafka und der Verzögerungswarteschlange von RabbitMQ. Ich werde vorerst nicht auf das Implementierungsprinzip eingehen. Gehen wir direkt zum eigentlichen Code, um die Redisson-Abhängigkeit einzuführen 2. Nacos-Konfiguration Redis-Verbindung
<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.10.5</version> </dependency>
3. Erstellen Sie eine Redis-Delay-Queue-Tool-Klasse Zählen Sie die im Verzögerungswarteschlangen-Executor definierten Beans auf und implementieren Sie sie. OrderPaymentTimeout: Verzögerungswarteschlangen-Verarbeitungsklasse für Auftragszahlungen Zeitüberschreitung und keine Auswertung
spring: redis: host: 127.0.0.1 port: 6379 password: 123456 database: 12 timeout: 3000
Das obige ist der detaillierte Inhalt vonWie SpringBoot Redisson integriert, um eine Verzögerungswarteschlange zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!