Java traite simultanément une grande quantité de données dans une table. Comment définir des points de contrôle pour la récupération après échec au lieu de traiter de manière répétée les données traitées ?
Par exemple, si le système tombe en panne pendant le traitement et que kill -9 est utilisé pour forcer le kill, définir un point de contrôle et reprendre le traitement à partir du point de contrôle la prochaine fois ?
1. Écrivez régulièrement des points de contrôle pour ne pas avoir peur des temps d'arrêt.
Si vous utilisez des transactions pour écrire des points de contrôle en temps réel, le problème ci-dessus ne se produira pas.2. Le traitement des données doit être idempotent et traiter les données qui ont été traitées mais qui n'ont pas été écrites dans les points de contrôle.