Donnez-moi `/events` plutôt que des webhooks
(blog.syncinc.so)- Pour l’intégration entre systèmes, on utilise des WebHook
→ mais en cas de panne du serveur, cela pose problème, et comme c’est temporaire, le traitement incorrect ou la perte sont faciles
→ on peut bufferiser avec Kafka, etc. pour éliminer ces problèmes, mais c’est fastidieux
- Proposition d’un endpoint
/eventspour synchroniser deux systèmes
→ une API utilisée par Stripe
→ permet de récupérer tous les événements de création/modification/suppression des 30 derniers jours
→ grâce au polling, il est possible de les récupérer au moment voulu, en quantité nécessaire, et même plusieurs fois
→ le long polling pourrait aussi réduire la charge
5 commentaires
L’API de Twitch aussi serait en train de migrer des webhooks vers EventSub, donc j’imagine que c’est la tendance...
La synchronisation entre deux systèmes est un sujet qui continue d’être débattu et modifié. (Et il y a aussi beaucoup de controverses.)
J’ai trouvé l’API /events de Stripe intéressante, donc je partage ici le lien vers l’article.
Personnellement, je n’aime pas trop les approches qui chargent le serveur, donc je ne suis pas totalement convaincu non plus...
Mais pour Stripe, qui contient des informations de paiement qu’on ne peut pas se permettre de manquer, je me dis que cela peut être une façon d’améliorer la fiabilité des données.
Je ne vois pas vraiment en quoi c’est mieux que d’utiliser une MQ comme Kafka...
Kafka convient bien aux systèmes dont le contrôle est assuré en interne,
mais ici, le sujet semble plutôt être de proposer quelque chose qui facilite dès le départ l’accès et l’intégration pour des développeurs externes ou des systèmes externes distincts.
Ah oui, il y a bien cette différence haha dans ce cas, quand il faut construire un système ouvert, c’est vrai
Merci