Maison Java javaDidacticiel Comment utiliser Spring Cloud pour développer un système de planification de tâches sous une architecture de microservices

Comment utiliser Spring Cloud pour développer un système de planification de tâches sous une architecture de microservices

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

Avec le développement d'Internet, de plus en plus d'entreprises commencent à adopter une architecture de microservices pour créer des systèmes distribués afin d'améliorer la fiabilité, l'évolutivité et la maintenabilité des applications. Dans l'architecture des microservices, un système de planification de tâches est un composant très important. Il peut être utilisé pour exécuter régulièrement certaines tâches asynchrones, appeler d'autres interfaces de microservices, etc.

Spring Cloud est un framework de microservices open source qui fournit des outils et des frameworks très puissants, tels que Spring Cloud Netflix, Spring Cloud Config, Spring Cloud Stream, Spring Cloud Security, etc. Parmi eux, Spring Cloud Netflix est un framework de microservices très populaire. Il fournit certains composants et extensions de base, tels que l'enregistrement et la découverte de services, l'équilibrage de charge client, la gestion de la configuration, les disjoncteurs, les passerelles API, etc.

Dans cet article, nous présenterons comment utiliser Spring Cloud pour développer un système de planification de tâches, qui comprend principalement le contenu suivant :

  1. Analyse des exigences du système de planification de tâches
  2. Utiliser Spring Scheduler pour implémenter la planification de tâches
  3. Put le système de planification de tâches dans l'architecture de microservices Spring In Cloud

1. Analyse des exigences du système de planification de tâches

Sous l'architecture de microservices, un système de planification de tâches doit prendre en charge les fonctions suivantes :

  1. Il peut déclencher l'exécution d'une tâche à un moment ou un moment précis.
  2. Prend en charge le déclenchement de l'exécution d'une tâche à intervalles de temps fixes ou à intervalles de temps périodiques.
  3. Prend en charge les nouvelles tentatives après un échec d'exécution de la tâche.
  4. Prend en charge l'exécution asynchrone des tâches et n'affecte pas le fonctionnement du programme principal.
  5. Prend en charge l'ajout et la suppression dynamiques de tâches.

2. Utilisez Spring Scheduler pour implémenter la planification des tâches

Spring Scheduler est un module du framework Spring Il fournit un cadre de planification de tâches léger qui peut facilement implémenter des fonctions de planification de tâches.

  1. Ajouter une dépendance Spring Scheduler

Ajouter une dépendance Spring Scheduler dans la logique de tâche pom.

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter</artifactId>
     <version>2.4.3</version>
 </dependency>
Copier après la connexion
  1. Ajouter une configuration de planification de tâches

Ajoutez une classe de configuration de planification de tâches au projet Spring Boot pour configurer la stratégie de planification de tâches spécifique et les tâches exécutées.

@Component
public class JobTask implements Runnable {
 
     @Override
     public void run() {
         System.out.println("running job...");
     }
 }
Copier après la connexion
  1. Testez la fonction de planification des tâches

Après avoir démarré l'application Spring Boot, vous pouvez afficher la sortie de la console et la tâche sera exécutée selon l'intervalle de temps et la périodicité spécifiés. Si vous souhaitez modifier la stratégie d'exécution des tâches, il vous suffit de modifier la classe de configuration.

    3. Placez le système de planification de tâches dans l'architecture de microservices Spring Cloud
Enregistrez le système de planification de tâches dans le centre d'enregistrement des services

Dans l'application du système de planification de tâches, utilisez des services tels que Eureka ou Consul de Spring Cloud pour S'inscrire Avec le composant de découverte, enregistrez le système de planification de tâches auprès du centre d'enregistrement des services.

@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();
     }
 }
Copier après la connexion
  1. Définissez des règles de routage dans la passerelle

Utilisez des passerelles API telles que Spring Cloud Gateway ou Zuul pour exposer le système de planification de tâches à d'autres microservices.

spring:
     application:
          name: task-scheduler
 
 eureka:
     instance:
          hostname: localhost
     client:
          service-url:
               defaultZone: http://localhost:8761/eureka/
Copier après la connexion
  1. Appelez le système de planification de tâches dans les microservices

Dans d'autres microservices, utilisez des outils tels que Feign ou RestTemplate pour appeler l'API RESTful exposée par le système de planification de tâches pour exécuter des tâches asynchrones ou déclencher l'exécution de tâches.

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/**
Copier après la connexion
    IV.Résumé
  1. Cet article explique comment utiliser Spring Cloud pour développer un système de planification de tâches sous une architecture de microservices, qui comprend principalement l'utilisation de Spring Scheduler pour implémenter la planification de tâches et le placement du système de planification de tâches dans l'architecture de microservices Spring Cloud. J'espère que cela sera utile aux développeurs qui adoptent une architecture de microservices, afin qu'ils puissent plus facilement créer des systèmes distribués hautement fiables et hautement évolutifs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Analyse du code source Spring Cloud : partie 1 Analyse du code source Spring Cloud : partie 1 Aug 15, 2023 pm 04:04 PM

Personnellement, je pense que la condition préalable à la lecture du code source est que vous devez être capable de l'utiliser. Une fois que vous le connaissez, vous pouvez deviner comment d'autres l'ont implémenté. S'il existe des documents officiels pertinents, lisez les documents officiels.

Défis et opportunités de l'architecture de microservices PHP : explorer des territoires inexplorés Défis et opportunités de l'architecture de microservices PHP : explorer des territoires inexplorés Feb 19, 2024 pm 07:12 PM

L'architecture de microservices PHP est devenue un moyen populaire de créer des applications complexes et d'atteindre une évolutivité et une disponibilité élevées. Cependant, l’adoption de microservices présente également des défis et des opportunités uniques. Cet article approfondira ces aspects de l'architecture des microservices PHP pour aider les développeurs à prendre des décisions éclairées lorsqu'ils explorent des territoires inexplorés. Défier la complexité des systèmes distribués : l'architecture des microservices décompose les applications en services faiblement couplés, ce qui augmente la complexité inhérente des systèmes distribués. Par exemple, la communication entre les services, la gestion des pannes et la latence du réseau deviennent tous des facteurs à prendre en compte. Gouvernance des services : la gestion d'un grand nombre de microservices nécessite un mécanisme pour découvrir, enregistrer, acheminer et gérer ces services. Cela implique de créer et de maintenir un cadre de gouvernance des services, qui peut nécessiter beaucoup de ressources. Dépannage : dans les microservices

Comment utiliser Java pour développer une architecture de microservices basée sur Spring Cloud Alibaba Comment utiliser Java pour développer une architecture de microservices basée sur Spring Cloud Alibaba Sep 20, 2023 am 11:46 AM

Comment utiliser Java pour développer une architecture de microservices basée sur Spring Cloud Alibaba. L'architecture de microservices est devenue l'une des architectures principales du développement de logiciels modernes. Elle divise un système complexe en plusieurs petits services indépendants, et chaque service peut être déployé de manière indépendante. , évoluer et gérer. SpringCloudAlibaba est un projet open source basé sur SpringCloud, fournissant aux développeurs un ensemble d'outils et de composants pour créer rapidement une architecture de microservices. Cet article présentera comment

Comment utiliser Java pour développer une application d'orchestration de conteneurs basée sur Spring Cloud Kubernetes Comment utiliser Java pour développer une application d'orchestration de conteneurs basée sur Spring Cloud Kubernetes Sep 20, 2023 am 11:15 AM

Comment utiliser Java pour développer une application d'orchestration de conteneurs basée sur Spring Cloud Kubernetes Avec le développement et l'application généralisée de la technologie des conteneurs, les outils d'orchestration de conteneurs sont devenus un élément indispensable des développeurs. En tant que l'un des outils d'orchestration de conteneurs les plus populaires, Kubernetes est devenu la norme de l'industrie. Dans ce contexte, combinant Spring Cloud et Kubernetes, nous pouvons facilement développer des applications basées sur l'orchestration de conteneurs. Cet article présentera en détail

Le meilleur framework PHP pour l'architecture de microservices : performances et efficacité Le meilleur framework PHP pour l'architecture de microservices : performances et efficacité Jun 03, 2024 pm 08:27 PM

Meilleur framework de microservices PHP : Symfony : flexibilité, performances et évolutivité, fournissant une suite de composants pour la création de microservices. Laravel : se concentre sur l'efficacité et la testabilité, fournit une interface API propre et prend en charge les services sans état. Slim : minimaliste, rapide, fournit un système de routage simple et un constructeur de corps intermédiaire en option, adapté à la création d'API hautes performances.

Construire une architecture de microservices hautes performances : bonnes pratiques pour les fonctions de développement Swoole Construire une architecture de microservices hautes performances : bonnes pratiques pour les fonctions de développement Swoole Aug 05, 2023 pm 08:25 PM

Construire une architecture de microservices hautes performances : meilleures pratiques pour les fonctions de développement Swoole Avec le développement rapide d'Internet et de l'Internet mobile, une architecture de microservices hautes performances est devenue un besoin pour de nombreuses entreprises. En tant qu'extension PHP hautes performances, Swoole peut fournir des fonctions asynchrones, coroutines et autres, ce qui en fait le meilleur choix pour créer une architecture de microservices hautes performances. Cet article expliquera comment utiliser Swoole pour développer une architecture de microservices hautes performances et fournira des exemples de code correspondants. Installez et configurez l'extension Swoole. Tout d'abord, vous devez installer Swool sur le serveur.

Dans l'architecture des microservices, comment le framework Java résout-il les problèmes de transactions interservices ? Dans l'architecture des microservices, comment le framework Java résout-il les problèmes de transactions interservices ? Jun 04, 2024 am 10:46 AM

Le framework Java fournit des fonctions de gestion de transactions distribuées pour résoudre les problèmes de transactions interservices dans l'architecture de microservices, notamment : AtomikosTransactionsPlatform : coordonne les transactions à partir de différentes sources de données et prend en charge le protocole XA. SpringCloudSleuth : fournit des capacités de traçage interservices et peut être intégré à des cadres de gestion de transactions distribuées pour assurer la traçabilité. SagaPattern : décomposez les transactions en transactions locales et assurez la cohérence éventuelle via le service de coordinateur.

Examiner les tendances futures du développement de fonctions Java du point de vue de l'architecture des microservices Examiner les tendances futures du développement de fonctions Java du point de vue de l'architecture des microservices Sep 18, 2023 am 10:52 AM

Examen des tendances futures du développement des fonctions Java du point de vue de l'architecture des microservices Résumé : Ces dernières années, avec le développement rapide du cloud computing et de la technologie du Big Data, l'architecture des microservices est devenue le premier choix pour la plupart des développements de logiciels d'entreprise. Cet article explorera les tendances futures du développement de fonctions Java du point de vue de l'architecture des microservices et analysera ses avantages et ses défis avec des exemples de code spécifiques. Introduction Avec l'expansion continue de l'échelle logicielle et l'évolution rapide du secteur, les applications monolithiques ont progressivement révélé le problème de leur incapacité à répondre aux besoins de développement modernes. Le concept d’architecture microservice est proposé pour répondre à ce défi.

See all articles