Controler le nombre de réessaie d'un message avec x-death dans RabbitMQ

Parfois le traitement d'un message provoque une erreur. Dans ce cas, il est courant de déplacer ce message dans une autre queue pour réessayer de le traiter plus tard. Tout cela peut être automatisé dans RabbitMQ avec les option DLX/DLK et l'application d'un TTL. Mais attention de ne pas créer une boucle infinie de tentative de traitement, dans cet article je vais vous présenter x-death pour contrôler le nombre de réessaie. Lire la suite

Ma première expérience en tant que conférencier

Retour d’expérience sur ma première fois en tant que speaker, c'était à Montpellier pour le PHP Tour 2018 organisé par l'AFUP. Lire la suite

RabbitMQ ne plus perdre de message avec l'utilisation d'Alternate Exchange et fanout

Publier un message dans RabbitMQ est très facile, malheureusement RabbitMQ ne fournis en retour aucune information sur la réussite ou non de la publication dans une queue. Une simple faute de frappe dans la routing key et le message sera perdu à jamais sans pouvoir en être informé. L'option Alternate Exchange permet de récupérer les messages dans une queue spécifique. Lire la suite

Utiliser Dead Letter dans RabbitMQ pour temporiser les messages en cas d'erreur

RabbitMQ est rapide, parfois un peu trop par rapport au reste de l'infrastructure. Un retard de réplication en base de donnée peut planter la consommation d'un message. Je montre mon cheminement pour gérer ce problème et l'utilisation des options dead letter exchange et dead letter routing key pour temporiser le traitement d'un message. Lire la suite

Fix le démarrage du serveur RabbitMQ avec les logs système en RAM sur Debian

Astuce pour débloquer le lancement de RabbitMQ sur un serveur Debian, si vous avez déplacé le dossier de logs dans un montage temporaire. Lire la suite

Recherche