Cet article explique comment Go gère efficacement les entrées/sorties réseau grâce à son modèle basé sur les goroutines et le netpoller, permettant de créer des applications scalables et performantes (comme des serveurs TCP, HTTP ou WebSocket). L'article détaille le fonctionnement interne de Go pour la gestion des connexions (via epoll/kqueue), illustre avec des exemples de code simples (serveur TCP, gestion des timeouts), et partage des bonnes pratiques : fermeture des connexions, optimisation des buffers, gestion des erreurs, et monitoring avec Prometheus. Un cas pratique montre la création d'un serveur WebSocket capable de gérer des milliers de connexions simultanées. L'auteur souligne aussi les pièges courants (fuites de goroutines, épuisement des descripteurs de fichiers) et propose des outils pour tester et déboguer (wrk, pprof). Idéal pour comprendre pourquoi Go excelle dans les applications réseau haute performance.
Les stratégies en question :
- prefetching
- memoization
- concurrent data fetching
- lazy loading
le tout illustré par des exemples en React ou en PHP
Tout est dans le titre
Une fonctionnalité introduite en PHP 8.1 pour la programmation concurrente : les "Fibers' L'auteur les présente et donne un exemple via une limitation d'usage API
Tout est dans le titre
Un article très intéressant sur les défauts de la programmation "concurrente", et montrant un parallèle très éclairant avec l'instruction "go to" telle qu'elle était pratiquée dans les années 60
Tout est dans le titre
... ou comment gérer des réservations simultanées par un mécanisme de verrouillage
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre