À propos du projet

Apollo est un système open-source de gestion de configuration conçu pour les scénarios de microservices. Il gère de manière centralisée les configurations de différentes applications, environnements, clusters et espaces de noms via une interface unifiée. Principales fonctionnalités décrites dans le README : - Gestion unifiée des configurations pour différents environnements et clusters, avec un concept d'espace de noms permettant à plusieurs applications de partager et personnaliser les configurations. L'interface utilisateur prend en charge le chinois et l'anglais. - Changements de configuration en temps réel (publication à chaud) : après modification et publication d'une configuration, les SDK reçoivent les dernières valeurs en environ une seconde et notifient l'application. - Gestion des versions de publication : chaque publication est versionnée, ce qui permet la restauration de configuration. - Publication en dégradé (grayscale) : une publication peut d'abord s'appliquer à un sous-ensemble d'instances d'application avant d'être déployée sur toutes les instances. - Recherche globale des éléments de configuration par clé ou valeur, montrant quelle application, quel environnement, quel cluster et quel espace de noms utilise une valeur donnée. - Gestion des autorisations, approbation des publications et audit des opérations : la modification et la publication sont séparées, et les opérations sont journalisées pour le suivi. - Surveillance des configurations côté client : montre quelles instances utilisent quelles versions de configuration. - SDK : SDK natifs Java et .NET, intégration Spring/Spring Boot (placeholders, annotations, ConfigurationProperties), API HTTP, et SDK tiers tels que Golang, Python, NodeJS, PHP, C et Rust. - API de plateforme ouverte pour les applications nécessitant des formats personnalisés ou une validation avant l'enregistrement des configurations. - Déploiement simple : la seule dépendance externe est MySQL ; le serveur fonctionne sur Spring Boot/Spring Cloud sans conteneur supplémentaire, et des scripts d'empaquetage génèrent les paquets d'installation. Le projet est sous licence Apache 2.0 et fournit une documentation couvrant le démarrage rapide, le déploiement distribué, la conception, les guides SDK, la FAQ et la gouvernance communautaire.