Nelle applicazioni distribuite, spesso è necessario modificare le proprietà di configurazione, come aggiornare le stringhe di connessione al database e gli indirizzi della cache. Se non ci sono molte applicazioni, puoi modificarle manualmente; una volta che ci sono molte applicazioni, la configurazione distribuita è molto importante; questo articolo spiega l'architettura di archiviazione chiave/valore di .net/c# basata su Consul per implementare la configurazione distribuita.
Installa il Console
Breve introduzione
Consul è uno strumento di scoperta e registrazione di servizi, distribuito e altamente scalabile.
Consul include principalmente le seguenti caratteristiche:
- Scoperta del servizio: Supporto per la registrazione e la scoperta dei servizi sia per protocolli HTTP che DNS.
- Controlli di monitoraggio: Supporta controlli sanitari multipli.
- Archiviazione Key/Value: Supporta la memoria distribuita dei dati KV tramite HTTP API.
- Supporto multi-data center: Sono supportati numerosi data center.
Installazione
Indirizzo di download:
Il login del link ipertestuale è visibile.
Questo articolo utilizza Windows 10 x64 come ambiente di test.
Dopo aver scaricato e sbloccato, eseguilo usando il comando cmd, il codice è il seguente:
dev significa esecuzione in modalità sviluppo, e il parametro -client può essere usato per specificare quale IP è consentito al client, ad esempio, -client 127.0.0.1 significa che può essere utilizzato e in modalità di sviluppo i dati non verranno mantenuti.
(la modalità sviluppatore, la modalità cluster è consigliata per ambienti di produzione)
Accesso:http://127.0.0.1:8500/ui/dc1/servicesVedi sotto:
Interfaccia KV
Indirizzo della documentazione API:
Il login del link ipertestuale è visibile.
Per prima cosa, uso una pagina web online e creo una nuova coppia chiave/valore.
Ottieni il valore tramite il percorso GET request /v1/kv/:key.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Key": "test", "Bandiere": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex è un valore di indice interno che rappresenta la creazione della voce.
- ModifyIndex è l'ultimo indice a modificare questa chiave. Questo indice corrisponde al valore dell'intestazione restituito da X-Consul-Index nella risposta, e può essere impostato da ? Il parametro di query indice viene utilizzato per stabilire query bloccanti. Puoi persino eseguire query bloccanti sull'intero sottoalbero del KV store: e se? recurse fornisce una query, e il valore restituito X-Consul-Index corrisponde all'ultimo valore di ModifyIndex nel prefisso; usando la query bloccante ?index attenderà che qualsiasi chiave in quel prefisso venga aggiornata.
- LockIndex è il numero di volte in cui la chiave nella serratura è stata acquisita con successo. Se la serratura è tenuta, la chiave della Sessione fornirà la sessione che possiede la serratura.
- La chiave è semplicemente il percorso completo dell'ingresso.
- I flag sono interi opachi senza segno che possono essere assegnati a ogni voce. I clienti possono scegliere di usare questa opzione, ma ha senso per la loro applicazione.
- Value è un blob di dati codificato in base64.
.NET/C# Chiave e scrittura Key/Value
Per prima cosa, crea un progetto .NET 4.6.1 e usa nuget per installare i pacchetti necessari, come segue:
Il codice è il seguente:
Le rappresentazioni sono le seguenti:
- La chiave è sensibile alla maiuscola e minuscola
- Duplicata chiave, valori di valore verranno sovrascritti
(Fine) |