ASP.NET Core implementa microservizi, devi affrontare il problema del centro di configurazione. Che sia un microservizio o meno, è molto complicato modificare il file di configurazione uno dopo l'altro con più nodi, e oggi condividerò una soluzione leggera di un centro di configurazione basata su Consul. Gli aggiornamenti aggiornati ai profili si ottengono senza riposizionarli.
sfondo
Tipicamente, le configurazioni nelle applicazioni .NET sono memorizzate in file di configurazione, come App.config, Web.config o appsettings.json. A partire da ASP.Net Core, è emerso un nuovo framework di configurazione estendibile che permetteva di memorizzare configurazioni al di fuori dei file di configurazione e recuperare dalla riga di comando, dalle variabili di ambiente e altro ancora.
Nei progetti tradizionali, modificare i file di configurazione richiede l'accesso all'ambiente di produzione per la modifica, cosa non conveniente per la manutenzione e la gestione quando ci sono molti progetti.
Perciò, utilizziamo Consul per configurare online in tempo reale, raggiungendo così l'obiettivo di rispondere in tempo reale cambiando solo la configurazione senza riavviare il servizio. L'idea di implementazione si basa sulla chiave/valore di Consul, e più nodi Consul possono essere automaticamente sincronizzati e configurati, e il nostro programma consiste nell'implementare ConfigurationProvider e ascoltare le modifiche di Consul.
Configurazione consolare
Per scaricare e installare, puoi fare riferimento a:
ASP.NET Configurazione del nucleo
Per prima cosa, installa il pacchetto nuget con il seguente comando:
Modifica il file Program.cs con il seguente codice:
Per maggiori informazioni sulla configurazione, si prega di fare riferimento:
Il login del link ipertestuale è visibile.
Configura l'indirizzo del centro di assistenza Consul e modifica il file appsettings.json come segue:
Il codice del controller è il seguente:
Inizia il progetto come mostrato qui sotto:
Dato che noi di Consul non stiamo configurando il valore di test, il fetch è vuoto.
ApriloIl login del link ipertestuale è visibile.Configura i file necessari per il progetto.
L'indirizzo profilo letto dal progetto è:
"/WebApplication1/appsettings. Development.json" Pertanto, dobbiamo creare una nuova cartella "WebApplication1" e "appsettings. Development.json" come mostrato qui sotto:
Il valore è il seguente:
Dopo aver salvato, aggiorniamo il sito web come mostrato di seguito:
Testati i caratteri cinesi senza problemi, come mostrato di seguito:
Si può vedere che il valore del test viene ottenuto con successo, il che realizza la funzione di configurazione dinamica, e il file di configurazione viene aggiornato a caldo senza riavviare il sito web. |