The ability of batch processing to efficiently process large amounts of data makes it ideal for many use cases. Spring Batch’s implementation of industry-standard processing patterns lets you build robust batch jobs on the JVM. Adding Spring Boot and other components from the Spring portfolio lets you build mission-critical batch applications.
What is batch processing?
Batch processing is the processing of a finite amount of data in a manner that does not require external interaction or interruption.
Why build batch processes?
Batch processes are an extremely efficient way of processing large amounts of data. The ability to schedule and prioritize work based on SLAs lets you allocate resources for best utilization.
Batch processing with Spring
Spring Batch is the de facto standard for batch processing on the JVM. Its implementation of common batch patterns, such as chunk-based processing and partitioning, lets you create high-performing, scalable batch applications that are resilient enough for your most mission-critical processes. Spring Boot provides an additional level of production-grade features to let you speed up the development of your batch processes.
Batch processing fits perfectly with cloud computing, and Infrastructure as a Service (IaaS), in particular. The ability to run applications in an on-demand, elastically scalable, and fault-tolerant manner are all cloud features that Spring Batch can use.
Spring Batch’s integration with other Spring APIs lets you be productive from day one. With ItemReader and ItemWriter support for files, relational databases and NoSQL stores support via Spring Data and messaging support through Apache Kafka and RabbitMQ, Spring Batch has the ability to handle most use cases out of the box.
Accessing and processing data in a reactive way is important. MongoDB, Redis, and Cassandra all have native reactive support in Spring Data. Many relational databases (Postgres, Microsoft SQL Server, MySQL, H2, and Google Spanner) have reactive support via R2DBC. In the world of messaging, Spring Cloud Stream also supports reactive access to platforms like RabbitMQ and Kafka.
Configuration server
Batch processing is the processing of a finite amount of data in a manner that does not require external interaction or interruption