¿Cuáles son algunos consejos, trucos y errores al usar Spring Batch?

Por experiencia anterior, mi sugerencia número uno es familiarizarse con sus características antes de escribir la suya. Un buen trabajo por lotes de primavera es básicamente un archivo de configuración compuesto de piezas prefabricadas. Es raro que tengas que escribir el tuyo. Es posible que deba escribir un método de controlador aquí o allá. Incluso cosas como saltar, reintentar y fragmentar están allí esperando ser configurados. Por favor, no pierda su tiempo o el de su empresa escribiéndolo nuevamente (y lidiando con los errores). Esto podría ahorrarle meses a su equipo.

Segundo, pero quizás más importante, considere otras herramientas ETL (de código abierto) e incluso equivalentes de transmisión. Por ejemplo, Apache NiFi y Camel son herramientas excelentes que pueden extraer, transformar y cargar datos de forma más continua. Además, NiFi tiene una gran interfaz de usuario y una gran capacidad de seguridad. Esta podría ser la diferencia entre la necesidad de un equipo y la necesidad de un individuo.

  • Ofrecen una selección similar de lectura, proceso, código de escritura.
  • La comunidad es más grande.
  • Están respaldados por compañías que pueden apoyarlo (por un precio).
  • ¿Realmente tiene tantos datos para mover en tan poco tiempo que prefiere moverlos por lotes en lugar de mover cada actualización tan pronto como llegue?
  • ¿Desea corregir errores durante su rutina normal de 9 a 5 o de noche durante el fin de semana cuando los trabajos por lotes se ejecutan normalmente?
  • ¿Cómo quieres simular y probar tu planificador de lotes? ¿Cómo sabes que se ejecutará en el momento adecuado, cada vez?
  • La escala de los lotes de resortes no es tan simple, escalar Camel y NiFi lo es mucho más.
  • Un enfoque basado en flujo coloca a su equipo y compañía en una mejor posición para manejar microservicios a escala, comenzando a abordar problemas con la comunicación entre procesos, la administración de datos, las actualizaciones casi en tiempo real, la fuente de eventos, el almacenamiento de mensajes, etc.

Con respecto al ahorro de tiempo de NiFi, es posible que necesite un equipo para estas cosas:

  • Escalada
  • Asegurando
  • Desplegando a prod
  • Vigilancia

Pero probablemente no necesite un equipo completo para configurar cada flujo de datos.

¡Buena suerte!