À propos du projet

anygo est un framework RPC et une bibliothèque de base pour le langage Go conçus pour réduire les dépendances, dont les modules fonctionnels peuvent être utilisés indépendamment. Les principales fonctionnalités comprennent : **Fonctionnalités du Client RPC** : - Gestionnaire de services en aval : prend en charge la gestion du délai d'expiration de la connexion, des tentatives, du pool de connexions, du TLS et des proxys via des fichiers de configuration ; intègre des modes de découverte de services DNS, File, Host+Port, ainsi que des stratégies d'équilibrage de charge Random et RoundRobin. - Composants réseau : comprend un composant de résolution DNS avec fonctions de mise en cache et d'interception, ainsi qu'un composant de numérotation TCP. - Implémentation de protocoles : fournit un client TCP RPC générique, avec les protocoles Redis (Resp3) et HTTP/HTTPS déjà implémentés. - Clients de stockage : comprend un client Redis basé sur resp3 et un client ORM db léger prenant en charge plusieurs bases de données (MariaDB, MySQL, SQL Server, Sqlite, Postgres). **Fonctionnalités du Serveur RPC** : - Fournit un HTTP Router prenant en charge les middlewares et divers paramètres de routage. - Comprend un composant HTTP Session et une fonctionnalité de génération de codes de vérification. **Bibliothèque de base générale** : - Environnement et configuration : xattr est utilisé pour gérer les informations d'environnement global de l'application ; xcfg permet de lire des configurations aux formats JSON, XML, etc., à partir de variables d'environnement et d'informations globales. - Composant de cache (xcache) : prend en charge les génériques, avec stockage intégré sur fichier, mémoire (LRU/FIFO/LIFO), Redis et base de données ; prend en charge les combinaisons de cache multi-niveaux (Chains) et des modèles de lecture transparents (Reader). - Stockage KV : fournit une API Key-Value similaire à Redis, prenant en charge les types String, List, Hash, Set, ZSet, avec la possibilité de changer flexiblement le pilote de stockage sous-jacent. - Autres outils : une bibliothèque de journaux (xlog) encapsulée basée sur slog, une bibliothèque d'assertion générique (xt) et le support de l'internationalisation (i18n).