Heim Java javaLernprogramm So entwickeln Sie mit Spring Cloud ein Aufgabenplanungssystem unter einer Microservice-Architektur

So entwickeln Sie mit Spring Cloud ein Aufgabenplanungssystem unter einer Microservice-Architektur

Jun 22, 2023 pm 05:54 PM
spring cloud 微服务架构 任务调度系统

Mit der Entwicklung des Internets beginnen immer mehr Unternehmen, Microservice-Architekturen einzuführen, um verteilte Systeme aufzubauen und so die Zuverlässigkeit, Skalierbarkeit und Wartbarkeit von Anwendungen zu verbessern. Unter der Microservice-Architektur ist ein Aufgabenplanungssystem eine sehr wichtige Komponente. Es kann verwendet werden, um einige asynchrone Aufgaben regelmäßig auszuführen, andere Microservice-Schnittstellen aufzurufen usw.

Spring Cloud ist ein Open-Source-Microservice-Framework, das einige sehr leistungsstarke Tools und Frameworks bereitstellt, wie z. B. Spring Cloud Netflix, Spring Cloud Config, Spring Cloud Stream, Spring Cloud Security usw. Unter diesen ist Spring Cloud Netflix ein sehr beliebtes Microservice-Framework. Es bietet einige Kernkomponenten und Erweiterungen, wie z. B. Dienstregistrierung und -erkennung, Client-Lastausgleich, Konfigurationsmanagement, Leistungsschalter, API-Gateways usw.

In diesem Artikel stellen wir vor, wie Sie mit Spring Cloud ein Aufgabenplanungssystem entwickeln, das hauptsächlich die folgenden Inhalte umfasst:

  1. Anforderungsanalyse des Aufgabenplanungssystems
  2. Verwenden Sie Spring Scheduler, um die Aufgabenplanung zu implementieren
  3. Put das Aufgabenplanungssystem in die Spring In Cloud-Microservice-Architektur

1. Anforderungsanalyse des Aufgabenplanungssystems

Unter der Microservice-Architektur muss ein Aufgabenplanungssystem die folgenden Funktionen unterstützen:

  1. Es kann die Ausführung einer Aufgabe auslösen ein bestimmter Zeitpunkt oder Augenblick.
  2. Unterstützt das Auslösen der Ausführung einer Aufgabe in festen Zeitintervallen oder periodischen Zeitintervallen.
  3. Wiederholung des Supports nach einem Fehler bei der Aufgabenausführung.
  4. Unterstützt die asynchrone Ausführung von Aufgaben und hat keinen Einfluss auf die Ausführung des Hauptprogramms.
  5. Unterstützt das dynamische Hinzufügen und Löschen von Aufgaben.

2. Verwenden Sie Spring Scheduler, um die Aufgabenplanung zu implementieren.

Spring Scheduler ist ein Modul des Spring-Frameworks. Es bietet ein leichtes Aufgabenplanungs-Framework, mit dem Aufgabenplanungsfunktionen einfach implementiert werden können.

  1. Spring Scheduler-Abhängigkeit hinzufügen

Spring Scheduler-Abhängigkeit in der POM-Aufgabenlogik hinzufügen.

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter</artifactId>
     <version>2.4.3</version>
 </dependency>
Nach dem Login kopieren
  1. Aufgabenplanungskonfiguration hinzufügen

Fügen Sie dem Spring Boot-Projekt eine Aufgabenplanungskonfigurationsklasse hinzu, um die spezifische Aufgabenplanungsstrategie und die ausgeführten Aufgaben zu konfigurieren.

@Component
public class JobTask implements Runnable {
 
     @Override
     public void run() {
         System.out.println("running job...");
     }
 }
Nach dem Login kopieren
  1. Testen Sie die Aufgabenplanungsfunktion

Nachdem Sie die Spring Boot-Anwendung gestartet haben, können Sie die Konsolenausgabe anzeigen und die Aufgabe wird gemäß dem angegebenen Zeitintervall und der angegebenen Periodizität ausgeführt. Wenn Sie die Aufgabenausführungsstrategie ändern möchten, müssen Sie nur die Konfigurationsklasse ändern.

    3. Integrieren Sie das Aufgabenplanungssystem in die Spring Cloud-Microservice-Architektur.
Registrieren Sie das Aufgabenplanungssystem im Service-Registrierungscenter.

Verwenden Sie in der Anwendung des Aufgabenplanungssystems Dienste wie Eureka oder Consul von Spring Cloud Registrieren Mit der Erkennungskomponente registrieren Sie das Aufgabenplanungssystem beim Service-Registrierungscenter.

@Configuration
@EnableScheduling
public class ScheduleConfig {
 
     @Autowired
     private JobTask jobTask;
 
     //在每分钟的3秒和6秒执行一次
     @Scheduled(cron = "3-6 * * * * ?")
     public void scheduleJob1() {
         jobTask.run();
     }
 
     //在间隔5秒后执行第一次,之后每隔10秒执行一次
     @Scheduled(initialDelay = 5000, fixedRate = 10000)
     public void scheduleJob2() {
         jobTask.run();
     }
 }
Nach dem Login kopieren
  1. Routing-Regeln im Gateway festlegen

Verwenden Sie API-Gateways wie Spring Cloud Gateway oder Zuul, um das Aufgabenplanungssystem anderen Microservices zugänglich zu machen.

spring:
     application:
          name: task-scheduler
 
 eureka:
     instance:
          hostname: localhost
     client:
          service-url:
               defaultZone: http://localhost:8761/eureka/
Nach dem Login kopieren
  1. Aufrufen des Aufgabenplanungssystems in Microservices

In anderen Microservices verwenden Sie Tools wie Feign oder RestTemplate, um die vom Aufgabenplanungssystem bereitgestellte RESTful-API aufzurufen, um asynchrone Aufgaben auszuführen oder die Ausführung von Aufgaben auszulösen.

spring:
     application:
          name: api-gateway
          
 server:
     port: 8080
 
 eureka:
     instance:
          hostname: localhost
     client:
          service-url:
               defaultZone: http://localhost:8761/eureka/
 
 gateway:
     routes:
          - id: task-scheduler
               uri: lb://task-scheduler
               predicates:
                    - Path=/schedule/**
Nach dem Login kopieren
    IV. Zusammenfassung
  1. In diesem Artikel wird erläutert, wie Sie mit Spring Cloud ein Aufgabenplanungssystem unter einer Microservice-Architektur entwickeln. Dazu gehört hauptsächlich die Verwendung von Spring Scheduler zur Implementierung der Aufgabenplanung und die Platzierung des Aufgabenplanungssystems in der Spring Cloud-Microservice-Architektur. Ich hoffe, dass es Entwicklern, die eine Microservice-Architektur einführen, hilfreich sein wird, damit sie einfacher hochzuverlässige und hoch skalierbare verteilte Systeme aufbauen können.

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie mit Spring Cloud ein Aufgabenplanungssystem unter einer Microservice-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Analyse des Spring Cloud-Quellcodes: Teil 1 Analyse des Spring Cloud-Quellcodes: Teil 1 Aug 15, 2023 pm 04:04 PM

Persönlich denke ich, dass die Voraussetzung für das Lesen des Quellcodes darin besteht, dass Sie ihn verwenden können. Wenn Sie damit vertraut sind, können Sie erraten, wie andere ihn implementiert haben. Wenn es relevante offizielle Dokumente gibt, lesen Sie die offiziellen Dokumente.

Herausforderungen und Chancen der PHP-Microservice-Architektur: Erkundung unbekannter Gebiete Herausforderungen und Chancen der PHP-Microservice-Architektur: Erkundung unbekannter Gebiete Feb 19, 2024 pm 07:12 PM

Die PHP-Microservices-Architektur ist zu einer beliebten Möglichkeit geworden, komplexe Anwendungen zu erstellen und eine hohe Skalierbarkeit und Verfügbarkeit zu erreichen. Allerdings bringt die Einführung von Microservices auch einzigartige Herausforderungen und Chancen mit sich. Dieser Artikel befasst sich mit diesen Aspekten der PHP-Microservices-Architektur, um Entwicklern dabei zu helfen, fundierte Entscheidungen zu treffen, wenn sie Neuland erkunden. Herausfordernde Komplexität verteilter Systeme: Die Microservices-Architektur zerlegt Anwendungen in lose gekoppelte Dienste, was die inhärente Komplexität verteilter Systeme erhöht. Beispielsweise sind die Kommunikation zwischen Diensten, die Fehlerbehandlung und die Netzwerklatenz Faktoren, die berücksichtigt werden müssen. Service-Governance: Die Verwaltung einer großen Anzahl von Microservices erfordert einen Mechanismus zum Erkennen, Registrieren, Weiterleiten und Verwalten dieser Services. Dies erfordert den Aufbau und die Pflege eines Service-Governance-Frameworks, was ressourcenintensiv sein kann. Fehlerbehebung: in Microservices

So entwickeln Sie mit Java eine Microservice-Architektur basierend auf Spring Cloud Alibaba So entwickeln Sie mit Java eine Microservice-Architektur basierend auf Spring Cloud Alibaba Sep 20, 2023 am 11:46 AM

So verwenden Sie Java zur Entwicklung einer auf Spring Cloud basierenden Microservice-Architektur. Die Alibaba-Microservice-Architektur ist zu einer der Mainstream-Architekturen der modernen Softwareentwicklung geworden. Sie teilt ein komplexes System in mehrere kleine, unabhängige Dienste auf, und jeder Dienst kann unabhängig bereitgestellt und skaliert werden und verwalten. SpringCloudAlibaba ist ein auf SpringCloud basierendes Open-Source-Projekt, das Entwicklern eine Reihe von Tools und Komponenten für den schnellen Aufbau einer Microservice-Architektur bietet. In diesem Artikel erfahren Sie, wie das geht

So entwickeln Sie mit Java eine Container-Orchestrierungsanwendung basierend auf Spring Cloud Kubernetes So entwickeln Sie mit Java eine Container-Orchestrierungsanwendung basierend auf Spring Cloud Kubernetes Sep 20, 2023 am 11:15 AM

So entwickeln Sie mit Java eine Container-Orchestrierungsanwendung auf Basis von Spring Cloud Kubernetes. Mit der Entwicklung und weit verbreiteten Anwendung der Container-Technologie sind Container-Orchestrierungstools zu einem unverzichtbaren Bestandteil für Entwickler geworden. Als eines der beliebtesten Tools zur Container-Orchestrierung hat sich Kubernetes zum Industriestandard entwickelt. In diesem Zusammenhang können wir durch die Kombination von Spring Cloud und Kubernetes problemlos Anwendungen entwickeln, die auf Container-Orchestrierung basieren. Dieser Artikel wird im Detail vorgestellt

Das beste PHP-Framework für Microservice-Architektur: Leistung und Effizienz Das beste PHP-Framework für Microservice-Architektur: Leistung und Effizienz Jun 03, 2024 pm 08:27 PM

Bestes PHP-Microservices-Framework: Symfony: Flexibilität, Leistung und Skalierbarkeit, Bereitstellung einer Reihe von Komponenten zum Erstellen von Microservices. Laravel: konzentriert sich auf Effizienz und Testbarkeit, bietet eine saubere API-Schnittstelle und unterstützt zustandslose Dienste. Schlank: minimalistisch, schnell, bietet ein einfaches Routing-System und optionalen Midbody Builder, geeignet für den Aufbau von Hochleistungs-APIs.

Aufbau einer leistungsstarken Microservice-Architektur: Best Practices für Swoole-Entwicklungsfunktionen Aufbau einer leistungsstarken Microservice-Architektur: Best Practices für Swoole-Entwicklungsfunktionen Aug 05, 2023 pm 08:25 PM

Aufbau einer leistungsstarken Microservice-Architektur: Best Practices für Swoole-Entwicklungsfunktionen Mit der rasanten Entwicklung des Internets und des mobilen Internets ist eine leistungsstarke Microservice-Architektur für viele Unternehmen zu einem Bedarf geworden. Als leistungsstarke PHP-Erweiterung kann Swoole asynchrone, Coroutine- und andere Funktionen bereitstellen und ist damit die beste Wahl für den Aufbau einer leistungsstarken Microservice-Architektur. In diesem Artikel wird erläutert, wie Sie mit Swoole eine leistungsstarke Microservice-Architektur entwickeln und entsprechende Codebeispiele bereitstellen. Installieren und konfigurieren Sie die Swool-Erweiterung. Zuerst müssen Sie Swool auf dem Server installieren.

Wie löst das Java-Framework in der Microservice-Architektur dienstübergreifende Transaktionsprobleme? Wie löst das Java-Framework in der Microservice-Architektur dienstübergreifende Transaktionsprobleme? Jun 04, 2024 am 10:46 AM

Das Java-Framework bietet verteilte Transaktionsverwaltungsfunktionen zur Lösung dienstübergreifender Transaktionsprobleme in der Microservice-Architektur, darunter: AtomikosTransactionsPlatform: koordiniert Transaktionen aus verschiedenen Datenquellen und unterstützt das XA-Protokoll. SpringCloudSleuth: Bietet dienstübergreifende Ablaufverfolgungsfunktionen und kann in verteilte Transaktionsverwaltungs-Frameworks integriert werden, um Rückverfolgbarkeit zu erreichen. SagaPattern: Zerlegen Sie Transaktionen in lokale Transaktionen und stellen Sie letztendliche Konsistenz durch den Koordinatordienst sicher.

Betrachten Sie den zukünftigen Trend der Java-Funktionsentwicklung aus der Perspektive der Microservice-Architektur Betrachten Sie den zukünftigen Trend der Java-Funktionsentwicklung aus der Perspektive der Microservice-Architektur Sep 18, 2023 am 10:52 AM

Betrachten Sie die zukünftigen Trends der Java-Funktionsentwicklung aus der Perspektive der Microservice-Architektur. Zusammenfassung: In den letzten Jahren ist die Microservice-Architektur mit der rasanten Entwicklung von Cloud Computing und Big-Data-Technologie zur ersten Wahl für die meisten Unternehmenssoftwareentwicklungen geworden. In diesem Artikel werden die zukünftigen Trends der Java-Funktionsentwicklung aus der Perspektive der Microservice-Architektur untersucht und ihre Vorteile und Herausforderungen anhand spezifischer Codebeispiele analysiert. Einführung Mit der kontinuierlichen Ausweitung des Softwareumfangs und den schnellen Veränderungen in der Wirtschaft haben monolithische Anwendungen nach und nach das Problem aufgedeckt, dass sie nicht in der Lage sind, moderne Entwicklungsanforderungen zu erfüllen. Um dieser Herausforderung zu begegnen, wird das Konzept der Microservice-Architektur vorgeschlagen.

See all articles