Was ist der Unterschied zwischen Spring-Batch-Remote-Chunking und Remote-Partitionierung?
Ich kann den Unterschied zwischen Remote-Chunking und Remote-Partitionierung im Frühjahrsstapel nicht verstehen. Könnte jemand bitte erklären?
Fernpartitionierung
Partitionierung ist eine Master / Slave-Schrittkonfiguration, die es ermöglicht, Datenpartitionen parallel zu verarbeiten. Jede Partition wird über einige Metadaten beschrieben. Wenn Sie beispielsweise eine Datenbanktabelle verarbeiten, kann Partition 1 beispielsweise IDs 0-100, Partition 2 101-200 usw. sein. Für Spring Batch verwendet ein Masterschritt ein Partitionierer , um ExecutionContexts zu generieren, die die Metadaten für jede Partition enthalten. Diese ExecutionContexte werden zur Verarbeitung an einen PartitionHandler (für die Remote-Partitionierung die MessageChannelPartitionHandler wird normalerweise verwendet. Die Slaves führen ihren Schritt aus und geben die resultierenden Status für die Aggregation durch den Master zurück.
Was Sie bei der Remote-Partitionierung beachten sollten:
Remote-Chunking
Remote-Chunking ähnelt der Remote-Partitionierung insofern, als es sich um eine Master / Slave-Konfiguration handelt. Beim Remote-Chunking werden die Daten jedoch vom Master gelesen und über die Leitung an den Slave zur Verarbeitung gesendet. Sobald die Verarbeitung abgeschlossen ist, wird das Ergebnis des ItemProcessor zum Schreiben an den Master zurückgegeben.
Was Sie über Remote-Chunking beachten sollten:
Ich habe einen Vortrag über die Skalierung von Spring Batch gehalten und mache eine Demonstration der Remote-Partitionierung, die Sie hier ansehen können: Ссылка
Tags und Links java spring spring-batch