Heim > Java > javaLernprogramm > Wie SpringBoot Redisson integriert, um eine Verzögerungswarteschlange zu implementieren

Wie SpringBoot Redisson integriert, um eine Verzögerungswarteschlange zu implementieren

王林
Freigeben: 2023-05-30 14:40:14
nach vorne
1675 Leute haben es durchsucht

Nutzungsszenarien

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>
Nach dem Login kopieren

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
Nach dem Login kopieren

8. Erstellen Sie einen Verzögerungswarteschlangen-Verbrauchsthread. Öffnen Sie ihn, nachdem das Projekt gestartet wurde Schreiben wir eine Testschnittstelle , simulieren und testen Sie sie mit PostMan , simulieren Sie das Hinzufügen einer Verzögerungswarteschlange , Die Schnittstelle zum Hinzufügen einer Verzögerungswarteschlange.

Über den Redis-Client können Sie sehen, dass die beiden Verzögerungswarteschlangen erfolgreich hinzugefügt wurden wurde erfolgreich konsumiert

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage