Le temps, c'est de l'argent ! Alors, n'en gaspillez plus avec des traitements interminables, distribuez-les !
Le développement d'applications et de scripts implique généralement de maîtriser le temps d'exécution. Dans ce sens, il est important d'apporter une solution pour les traitements les plus lourds.
Après quelques optimisations algorithmiques, vous avez peut-être fait appel aux threads pour paralléliser les traitements qui le permettent.
Cette solution permet en effet d'exploiter au mieux votre CPU multicœur, mais n'est pas évolutive à souhait. En production, vous ne pourrez pas augmenter indéfiniment les capacités de vos processeurs et ce n'est d'ailleurs pas souhaitable. Une machine surdimensionnée coûte bien plus cher et devient un point de défaillance unique (SPOF).
Heureusement, il existe d'autres solutions bien plus évolutives comme Celery [1] que nous associerons à Docker Swarm pour simplifier le déploiement et la mise à l'échelle.
1. Un cas concret
Celery est un gestionnaire de files d'attente de tâches distribuées. En d'autres termes,...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première