Question

Je souhaite répartir le traitement des gros lots.L'idée est d'utiliser Spring Batch pour lancer un groupe de consommateurs AMQP dans un cloud, puis de charger des tâches bon marché (comme les identifiants d'articles) et de les soumettre à un échange AMQP.La rédaction des résultats sera effectuée par les consommateurs eux-mêmes.

Existe-t-il une bibliothèque prête à l'emploi pour accomplir cela ?

Quelques réflexions :

  • Spring Batch est totalement négociable.
  • La taille des lots est de plusieurs millions.Je ne veux pas tuer mon courtier de messages en soumettant par force brute tous ces identifiants à la fois, mais utiliser une sorte de limitation à la place.
  • Je veux savoir quels éléments ont été traités afin de pouvoir surveiller le processus.Le processus de contrôle des lots devra donc recevoir des réponses des consommateurs.
Était-ce utile?

La solution

Oui, voir le intégration par lots de printemps projet.Il combine Spring Batch et Spring Integration pour effectuer ce que vous voulez.

Pour le lot 2.2.x, cela fait partie du spring-batch-admin distribution;dans la prochaine version du lot 3.0.0, il a été déplacé vers le lot proprement dit.

Le partitionnement à distance envoie simplement des métadonnées sur les partitions et les travailleurs récupèrent réellement les données.

Il est livré avec un Exemple JMS mais il ne serait pas difficile de remplacer les passerelles JMS d'intégration Spring par des passerelles Amqp d'intégration Spring.

Il existe également une version de segmentation à distance dans laquelle les données sont envoyées via le transport au lieu des métadonnées de partition.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top