Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 32919|Répondre: 0

[Source] [Architecture]. net/c# implémente une configuration distribuée du magasin Key/Value basé sur Consul

[Copié le lien]
Publié le 16-10-2020 à 18:18:06 | | | |
Dans les applications distribuées, il est souvent nécessaire de modifier les propriétés de configuration, telles que la mise à jour des chaînes de connexion à la base de données et des adresses de cache. S’il n’y a pas beaucoup d’applications, vous pouvez les modifier manuellement, une fois qu’il y a de nombreuses applications, la configuration distribuée est très importante, cet article explique l’architecture de stockage clé/valeur de .net/c# basée sur Consul pour implémenter la configuration distribuée.

Installer le consul

Brève introduction

Consul est un outil de découverte et d’enregistrement de services distribué et hautement évolutif.

Consul comprend principalement les caractéristiques suivantes :

  • Découverte de service : Prise en charge de l’enregistrement et de la découverte de services pour les protocoles HTTP et DNS.
  • Contrôle de surveillance : Prend en charge plusieurs contrôles de santé.
  • Stockage clé/valeur : Prend en charge le stockage distribué des données KV via l’API HTTP.
  • Prise en charge multi-centres de données : Un nombre quelconque de centres de données est pris en charge.


Installation

Adresse de téléchargement :

La connexion hyperlientérée est visible.

Cet article utilise Windows 10 x64 comme environnement de test.

Après téléchargement et décompression, exécutez-le avec la commande cmd, le code est le suivant :



dev signifie exécuter en mode développement, et le paramètre -client peut être utilisé pour spécifier quelle IP le client peut accéder, par exemple, -client 127.0.0.1 signifie qu’il peut être utilisé, et en mode développement, les données ne seront pas conservées.

(le mode développeur, le mode cluster est recommandé pour les environnements de production)



Accès :http://127.0.0.1:8500/ui/dc1/servicesVoir ci-dessous :



Interface KV

Adresse de documentation API :

La connexion hyperlientérée est visible.

D’abord, j’utilise une page web en ligne et je crée une nouvelle paire clé/valeur.

Obtiens la valeur via le chemin de requête GET /v1/kv/ :key.

http://127.0.0.1:8500/v1/kv/test



[
    {
        « LockIndex » : 0,
        « Clé » : « test »,
        « Drapeaux » : 0,
        « Value » : « aXRzdnNlLmNvbQ== »,
        « CreateIndex » : 194,
        « ModifyIndex » : 194
    }
]


  • CreateIndex est une valeur d’index interne qui représente la date de création de l’entrée.
  • ModifyIndex est le dernier indice à modifier cette clé. Cet indice correspond à la valeur d’en-tête retournée par X-Consul-Index dans la réponse, et peut être défini par ? Le paramètre de requête d’indice est utilisé pour établir des requêtes bloquantes. Vous pouvez même effectuer des requêtes de blocage sur l’ensemble du sous-arbre du KV store : et si ? recurse fournit une requête, et la valeur retournée X-Consul-Index correspond à la dernière valeur de ModifyIndex dans le préfixe, en utilisant la requête bloquante ?index attendra qu’une clé de ce préfixe soit mise à jour.
  • LockIndex est le nombre de fois où la clé dans la serrure a été acquise avec succès. Si le verrou est maintenu, la clé de session fournira la session qui possède le cadenas.
  • La clé, c’est simplement le chemin complet de l’entrée.
  • Les drapeaux sont des entiers opaques sans signe qui peuvent être attachés à chaque entrée. Les clients peuvent choisir d’utiliser cette option, mais cela a du sens pour leur application.
  • Value est un blob de données codé en base64.


.NET/C# Clé/Valeur lecture et écriture

Tout d’abord, créez un projet .NET 4.6.1 et utilisez Nuget pour installer les paquets nécessaires, comme suit :



Le code est le suivant :



Les rendus sont les suivants :



  • La clé est sensible aux majuscules
  • Double key, valeurs de valeur


(Fin)




Précédent:Débogage de programmes .NET avec Notepad à la maison sur un ordinateur pendant dix ans
Prochain:Architecture : ASP.NET Core configure dynamiquement les mises à jour chaudes basées sur Consul
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com