Le moteur de synchronisation est la pièce maîtresse de Rezyo. C'est lui qui garantit que vos disponibilités sont cohérentes sur toutes vos plateformes de réservation.
Le cycle de synchronisation
- Import : Rezyo récupère les disponibilités et réservations de chaque plateforme connectée
- Réconciliation : comparaison de l'état de chaque créneau entre toutes les sources
- Propagation : les changements détectés sont appliqués sur les autres plateformes
- Vérification : un contrôle final confirme la cohérence de l'ensemble
Détection de conflits
Le cas le plus critique : deux joueurs réservent le même créneau au même moment sur deux plateformes différentes. Notre système :
- Détecte le conflit dès l'import suivant
- Classe le conflit par priorité (premier arrivé, plateforme préférée, etc.)
- Propose des options de résolution au gérant
- Applique la décision sur toutes les plateformes concernées
File d'attente et retry
Chaque tache de synchronisation passe par une file d'attente avec retry automatique et backoff exponentiel. Si une plateforme est temporairement indisponible, la tache est relancee automatiquement sans perte de donnees. En cas de retry, seules les plateformes en echec sont retentees — les plateformes deja synchronisees sont ignorees.
Resilience
Un circuit breaker protege chaque plateforme : apres plusieurs echecs consecutifs, les appels sont coupes temporairement. La reprise est testee atomiquement par un seul worker a la fois. Les operations de reconciliation et de marquage de synchronisation sont protegees par le meme lock distribue pour eviter les boucles infinies.
Prochaine étape
Le moteur tourne, mais il reste un problème : chaque plateforme nomme les terrains différemment. Il faut un système de mapping intelligent.