Centre de configuration open source - Apollo
Apollo est une plate-forme de gestion de la configuration développée par le département du framework de CTRIP. Il peut gérer de manière centralisée les configurations de différents environnements et grappes d'applications. Après modification de la configuration, il peut être poussé vers le côté de l'application en temps réel et a des autorisations standardisées, une gouvernance de processus et d'autres caractéristiques. Le serveur est développé en fonction de Spring Boot et Spring Cloud. Il peut être exécuté directement après l'emballage, et il n'est pas nécessaire d'installer des conteneurs d'application supplémentaires tels que Tomcat.
Consulter le code
Apollo Github
Vous pouvez utiliser l'idée pour l'ouvrir localement
Scripts de base de données
Exécutez le script suivant pour créer apolloconifgdb, apolloportaldb
Démarrer la configuration d'administration
Configuration de classe principale
com.ctrip.framework.apollo.assembly.apolloapplication
Opinions VM
-Dapollo_profile = github -dspring.datasource.url = jdbc: mysql: // localhost: 3306 / apolloconfigdb? CharacterEncoding = utf8 -dspring.datasource.Username = root -dspring.datasource.password = programme arguments-ConfigService --adminsvice
Après le début, ouvrez http: // localhost: 8080 et vous pouvez voir qu'Apollo-Configservice et Apollo-AdminerService ont été démarrés et enregistrés auprès d'Eureka.
Démarrer Apollo-Portal
Configuration de classe principale
com.ctrip.framework.apollo.portal.portalapplication-dapollo_profile = github, auth -ddev_meta = http: // localhost: 8080 / -dserver.port = 8070 -Dspring.datasource.url = jdbc: mysql: // localhost: 3306 / apolloportaldb? CaracterCcoding = utf8 -dspring.datasource.username = root -dspring.datasource.password =
Si le profil Auth est activé, le nom d'utilisateur par défaut est Apollo et que le mot de passe est administrateur
Appliqué sur les machines de l'environnement SIT, UAT,
1. Ajouter un répertoire / opt / data / répertoire, et a des autorisations de lecture et d'écriture;
2. Ajout d'un nouveau fichier: /opt/settings/server.properties et de la configuration ajoutée:
Env = devsit: Env = FatUat: Env = Uat Production: Env = Pro
Exemple du client
@Component set Nom du composant @RefreshScope Spécifie que les modifications de configuration peuvent être rafraîchies @ConfigurationProperties (prefix = "redis.cache") @ composant ("SamplereDisconfig") @ RefreshScopePublic Class SamplereDisconfig {private static final Logger = LoggerFactory.getLogger (SampleReDisconFig.Clorger); INT privé Expirecondes; Clusternodes de chaîne privées; private int commandtimeout; Carte privée <String, String> SomeMap = Maps.NewLinkEdHashMap (); Liste privée <string> SomeList = lists.NewLinkEdList (); @PostConstruct private void initialize () {logger.info ("SamplereDisconfig initialisé - Expireconds: {}, clusterodes: {}, Commandtimeout: {}, Somemap: {}, someList: {}", expiresedes, clusterodes, Commandtimeout, somemap, somelist); } public void setExpireseconds (int expireseconds) {this.expireseconds = exireseconds; } public void setClusterNodes (String Clusterdodes) {this.clusterdodes = clusterdodes; } public void setCommandTimeout (int commandtimeout) {this.commandtimeout = commandtimeout; } public map <String, String> GetSomeMap () {return SomeMap; } public list <string> getoMelist () {return someList; } @Override public String toString () {return String.Format ("[SamplereDisconfig] Expireseconds:% D, Clusterodes:% S, Commandtimeout:% D, Somemap:% S, SomeMap,% S", Expireseconds, Clusterodes, Commandtimeout, Somemap, Somelist); }}Configuration de la surveillance
@ComponentPublic Class SpringbootapolloreFreshConfig {private static final logger Logger = LoggerFactory.getLogger (SpringbootapolloreFreshConfig.class); @Autowired privé apollorefreshconfig apollorefreshconfig; @Autowired Private Sampleredisconfig SamplereDisconfig; @Autowired Private Refreshscope Refreshscope; @ApolloconfigchangeListener public void onchange (configChangeEvent changeevent) {logger.info ("avant rafraîchir {}", sampleredisconfig.tostring ()); Refreshscope.refresh ("SamplereDisconfig"); Logger.info ("After Refresh {}", SamplereDisConfig.ToString ()); }}Résumer
Ce qui précède est le processus de construction de l'environnement de développement local de Spring Cloud Apollo APOLLO qui vous a été introduit. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!