Maison >développement back-end >Golang >Comment réaliser la découverte et l'enregistrement de services dans une architecture de microservices ?

Comment réaliser la découverte et l'enregistrement de services dans une architecture de microservices ?

王林
王林original
2023-05-17 08:36:212024parcourir

Avec l'avènement de l'ère du cloud computing et du big data, les applications uniques traditionnelles sont progressivement devenues incapables de répondre aux besoins de développement des entreprises. Afin de mieux relever les défis des scénarios commerciaux complexes, l’architecture des microservices est de plus en plus privilégiée par les développeurs. Dans l'architecture des microservices, de nombreux services augmentent progressivement, ce qui nécessite que le système dispose de capacités de découverte et d'enregistrement de services. Cet article se concentrera sur la façon de mettre en œuvre la découverte et l'enregistrement de services dans l'architecture des microservices.

1. Découverte de services

La découverte de services est un maillon très important dans l'architecture des microservices. Sa fonction principale est de découvrir et de localiser dynamiquement les services, afin de réaliser efficacement la coordination et la communication entre les différents services. Dans l'architecture des microservices, la découverte de services peut être réalisée des manières suivantes.

  1. Découverte basée sur le client

La découverte basée sur le client peut être comprise comme le consommateur du service découvrant activement l'adresse du fournisseur de services, puis appelant directement le service. De cette manière, le fournisseur de services est passif et ne sera exposé passivement que lorsque le consommateur du service lancera un appel. La découverte basée sur le client peut être réalisée grâce à une technologie d'équilibrage de charge, telle que les fournisseurs de services d'équilibrage de charge au sein du client via une interrogation, un algorithme de hachage ou un algorithme aléatoire, et le transfert des demandes au fournisseur de services.

L'avantage de cette méthode est qu'elle est simple à mettre en œuvre et ne nécessite pas le support d'un cadre de gouvernance de service. Il suffit d'implémenter la logique correspondante sur le client. L'inconvénient est que le client doit découvrir activement le service. fournisseur, ce qui imposera une certaine charge au client.

  1. Découverte basée sur le serveur

La découverte basée sur le serveur peut être comprise comme le fournisseur de services s'enregistrant dans le cadre de gouvernance des services, puis le consommateur du service envoie une demande de service au cadre de gouvernance des services, et la découverte du service est effectuée dans le cadre de gouvernance des services fait correspondre l'adresse et appelle le fournisseur de services correspondant.

L'avantage de cette méthode est que les consommateurs de services n'ont pas besoin de découvrir eux-mêmes les fournisseurs de services, mais plutôt de confier les responsabilités correspondantes au cadre de gouvernance des services, ce qui peut effectivement réduire la charge sur le client. L'inconvénient est que la mise en œuvre est lente ; relativement complexe et nécessite un support de cadre de gouvernance de service, et augmentera également la charge sur le cadre de gouvernance de service lui-même.

  1. Méthode hybride

La méthode hybride est une méthode combinée basée sur la découverte du client et du serveur. Elle permet aux consommateurs de services de découvrir activement les fournisseurs de services et permet aux fournisseurs de services de s'inscrire dans le cadre de gouvernance des services. L’avantage de cette approche est qu’elle permet d’exploiter pleinement les avantages des deux approches pour améliorer la disponibilité et l’évolutivité de l’ensemble de l’architecture. L'inconvénient est que la mise en œuvre est relativement complexe et nécessite la mise en œuvre d'une logique correspondante à la fois sur le client et sur le serveur.

2. Enregistrement du service

L'enregistrement du service fait référence à l'enregistrement des informations du fournisseur de services dans le cadre de gouvernance des services pour fournir une prise en charge de la découverte et de l'invocation du service. Dans l'architecture des microservices, l'enregistrement du service peut être réalisé des manières suivantes.

  1. Connexion directe

Cette méthode consiste dans laquelle le fournisseur de services réalise l'enregistrement en se connectant directement au cadre de gouvernance du service. Lorsque le service démarre, le fournisseur de services enverra une demande au cadre de gouvernance des services pour expliquer quels services il fournit ainsi que l'adresse, le numéro de port et d'autres informations correspondants. Le cadre de gouvernance de service enregistre les informations après réception de la demande de découverte et d'invocation de service ultérieure.

L'avantage de cette méthode est qu'elle est simple à mettre en œuvre et ne nécessite pas le support d'un framework tiers ; l'inconvénient est que la fiabilité est faible. Si le fournisseur de services tombe en panne ou si le réseau tombe en panne, vous devez le faire. réinscrire manuellement.

  1. Utiliser un framework tiers

Dans une architecture de microservices, il est courant d'utiliser un framework de gouvernance de services tiers pour enregistrer des services. Les frameworks couramment utilisés incluent Eureka et Consul de Netflix. Lors de l'utilisation de ces frameworks, le fournisseur de services lancera une demande d'enregistrement auprès du framework. Le framework enregistrera la demande et enverra périodiquement une détection de battement de cœur au fournisseur de services dans le registre pour garantir la disponibilité du fournisseur de services.

L'avantage de cette méthode est qu'elle a une grande fiabilité. Grâce à la prise en charge du framework, elle peut réaliser des fonctions telles que la haute disponibilité, l'équilibrage de charge et la tolérance aux pannes. L'inconvénient est qu'elle nécessite l'introduction d'un tiers. cadre, ce qui augmente la complexité du système.

  1. Découverte basée sur le serveur

Dans la méthode de découverte basée sur le serveur, le fournisseur de services enregistrera ses informations dans le cadre de gouvernance du service Lorsque le consommateur du service envoie une demande au fournisseur de services correspondant, le cadre de gouvernance du service correspondra. le service correspondant sur la base des informations du fournisseur de services. Cette méthode est plus complexe à mettre en œuvre et nécessite le support du cadre de gouvernance des services.

3. Résumé

La découverte et l'enregistrement des services sont des liens très importants dans l'architecture des microservices, qui peuvent garantir la disponibilité et la stabilité de l'ensemble du système. Lors de la découverte et de l'enregistrement de services, vous devez choisir la méthode appropriée en fonction de la situation réelle. Vous pouvez utiliser des méthodes basées sur le client, côté serveur ou mixtes pour réaliser la découverte de services en fonction de besoins spécifiques, en utilisant une connexion directe ou un framework tiers ; ou une méthode d'enregistrement basée sur un serveur pour mettre en œuvre l'enregistrement du service. Dans le même temps, des facteurs tels que la fiabilité, l'évolutivité et la complexité du système doivent être pris en compte, et grâce à une conception et un équilibre raisonnables, les objectifs de haute disponibilité, de hautes performances et de haute fiabilité de l'ensemble de l'architecture des microservices peuvent finalement être atteints.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn