À propos du projet

Zinx est un framework de serveur concurrent léger construit avec Golang, destiné aux développeurs qui ont besoin d'une base de serveur TCP simple mais extensible. Il est largement utilisé en entreprise pour le transfert de messages backend, les serveurs de jeux à connexion persistante et les plugins de gestion de messages de frameworks web. Le framework met l'accent sur un code concis afin que les développeurs puissent rapidement comprendre son fonctionnement interne et le personnaliser selon leurs besoins spécifiques. Les principales fonctionnalités incluent : - **Serveur et client TCP** : Fournit des implémentations serveur et client pour faciliter les tests et le développement. - **Routage de messages** : Prend en charge l'enregistrement de routeurs par ID de message pour gérer différents types de requêtes. - **Pool de workers** : Gère un pool de goroutines pour traiter les messages en parallèle, améliorant ainsi les performances. - **Fichier de configuration** : Permet de personnaliser le nom du serveur, l'hôte, le port, le nombre maximal de connexions, la taille du pool de workers, les paramètres de journalisation, etc. via un fichier JSON. - **Journalisation** : Journalisation intégrée avec niveaux d'isolation configurables et sortie vers fichier. - **Hooks de connexion** : Prend en charge des callbacks personnalisés lors de l'établissement ou de la fermeture des connexions. - **Heartbeat** : Inclut un mécanisme de heartbeat pour surveiller la santé des connexions. Zinx est accompagné de tutoriels et d'une documentation approfondis, notamment un wiki et des cours en ligne, ce qui le rend adapté à l'apprentissage et à l'utilisation en production. Le projet est open-source sous licence MIT et a reçu les contributions de plusieurs développeurs, avec des ports disponibles en C++, Lua et Java.