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

Vue: 55716|Répondre: 3

[Source] 【Architecture】ASP.NET Le Core est très disponible grâce aux services Consul

[Copié le lien]
Publié le 16-10-2020 à 18:33:07 | | | |
Dans le développement des projets Internet, il est nécessaire d’interagir avec divers services, et les utilisateurs obtiennent des données du serveur, et la grande disponibilité des interfaces de service est particulièrement importante, notamment dans le commerce électronique et les systèmes de paiement, où la haute disponibilité mesure également la robustesse du système. Dans le cas des clusters, de nombreux services sont également difficiles à maintenir.

Examen du consul

Consul est un outil open source développé en langage Go lancé par HashiCorp, utilisé pour réaliser la découverte et la configuration des services de systèmes distribués, avec un cadre intégré d’enregistrement et de découverte de services, une mise en œuvre de protocole de cohérence de distribution, un contrôle de santé, un stockage clé/valeur et des solutions multi-centres de données, ce qui est relativement simple à utiliser.

[Architecture]. net/c# implémente une configuration distribuée du magasin Key/Value basé sur Consul
https://www.itsvse.com/thread-9420-1-1.html

Architecture : ASP.NET Core configure dynamiquement les mises à jour chaudes basées sur Consul
https://www.itsvse.com/thread-9421-1-1.html


Découverte du service consul

Comment utiliser la découverte du service Consul :

  • Faites fonctionner un agent Consul en mode Client sur chaque ordinateur, qui est uniquement responsable de l’échange efficace des dernières informations d’enregistrement avec le Consul Cluster (ne participant pas à l’élection des chefs).
  • Le service de service sur chaque ordinateur enregistre le nom du service et l’URL du service auprès de l’agent consul local
  • Lorsqu’un programme déployé sur Computer1 doit appeler ServiceB, le programme ServiceA obtient directement l’adresse d’accès de ServiceB auprès de l’agent consul local via le nom du service, puis effectue directement une requête à l’URL de ServiceB.




Le code est le suivant :



Dans la classe Startup, appelez ceci :



Examen de santé

L’interface de vérification de santé n’a qu’à renvoyer un code de statut 200 au consul, et le code est le suivant :



Commencez le projet, inscrivez-vous au service

Le contrôleur peut définir une méthode de test comme suit :



Allons dans le répertoire bin du projet et lanceons-le via la ligne de commande, le code est le suivant :





Consultez le lien via votre navigateur :

http://127.0.0.1:8500/ui/dc1/services/test.itsvse



http://127.0.0.1:8500/v1/catalog/service/test.itsvse

Les données json sont les suivantes :

[
    {
        « ID » : « bb644359-6b2a-a27e-7a0a-a1950b8e515f »,
        « Node » : « BUREAU-EB7B69D »,
        « Adresse » : « 127.0.0.1 »,
        « Datacenter » : « dc1 »,
        « AdressesTaguées » : {
            « lan » : « 127.0.0.1 »,
            « Wan » : « 127.0.0.1 »
        },
        « NodeMeta » : {
            « segment-réseau consul » : « »
        },
        « ServiceKind » : «  »,
        « ServiceID » : « 507338bf-a5a6-4013-9675-c43a40a2c1a0 »,
        « ServiceName » : « test.itsvse »,
        « ServiceTags » : [
            « test »,
            « itsvse »
        ],
        « ServiceAddress » : « 127.0.0.1 »,
        « ServiceWeights » : {
            « Passage » : 1,
            « Avertissement » : 1
        },
        « ServiceMeta » : {},
        « ServicePort » : 8083,
        « ServiceEnableTagOverride » : faux,
        « ServiceProxy « : {
            « MeshGateway » : {},
            « Exposer » : {}
        },
        « ServiceConnect » : {},
        « CreateIndex » : 1317,
        « ModifyIndex » : 1317
    },
    {
        « ID » : « bb644359-6b2a-a27e-7a0a-a1950b8e515f »,
        « Node » : « BUREAU-EB7B69D »,
        « Adresse » : « 127.0.0.1 »,
        « Datacenter » : « dc1 »,
        « AdressesTaguées » : {
            « lan » : « 127.0.0.1 »,
            « Wan » : « 127.0.0.1 »
        },
        « NodeMeta » : {
            « segment-réseau consul » : « »
        },
        « ServiceKind » : «  »,
        « ServiceID » : « bb21f150-7219-4eda-bc91-54686a750228 »,
        « ServiceName » : « test.itsvse »,
        « ServiceTags » : [
            « test »,
            « itsvse »
        ],
        « ServiceAddress » : « 127.0.0.1 »,
        « ServiceWeights » : {
            « Passage » : 1,
            « Avertissement » : 1
        },
        « ServiceMeta » : {},
        « ServicePort » : 8082,
        « ServiceEnableTagOverride » : faux,
        « ServiceProxy « : {
            « MeshGateway » : {},
            « Exposer » : {}
        },
        « ServiceConnect » : {},
        « CreateIndex » : 1314,
        « ModifyIndex » : 1314
    }
]


Appel au service consul

Créez un nouveau projet console .NET Core avec le code suivant :



J’appelle au hasard le service test.itsvse enregistré et le résultat est le suivant :



Enfin, téléchargement du code source :

Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaîtRépondre




Précédent:Architecture : ASP.NET Core configure dynamiquement les mises à jour chaudes basées sur Consul
Prochain:L’importation de fichiers DMP est exceptionnelle
Publié le 30-11-2020 à 19:57:38 |
w174w174w174
Publié le 23-07-2021 à 09:31:37 |
Merci d’avoir partagé
Publié le 09-03-2021 à 09:05:16 |
Logiciel, importez des dizaines de milliers d’emails, ne simulez pas la mort, ne gelez pas !!
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