Partage de technologie

Centre de configuration SpringCloudAlibaba Nacos et découverte de services

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Table des matières

1.Configuration

1.1 Caractéristiques de configuration

lecture seulement

Accompagner tout le cycle de vie de l’application

Plusieurs méthodes de chargement

La configuration nécessite une gouvernance

1.2 Centre de configuration

2. Présentation de Nacos

2.1 Caractéristiques

Découverte des services et vérifications de l'état des services

Gestion de configuration dynamique

Service DNS dynamique

Gestion des services et des métadonnées

3. Découverte des services


1.Configuration

Les applications doivent souvent lire certaines informations de configuration lors du démarrage et de l'exécution. La configuration accompagne essentiellement tout le cycle de vie de l'application, telles que les paramètres de connexion à la base de données, les paramètres de démarrage, etc.

1.1 Caractéristiques de configuration

lecture seulement

Il est en lecture seule pour les programmeurs. Le programme modifie son comportement en lisant la configuration, mais le programme ne doit pas modifier la configuration.

Accompagner tout le cycle de vie de l’application

Il est initialisé en lisant la configuration au démarrage et ajuste le comportement en fonction de la configuration au moment de l'exécution. Par exemple, le numéro de port du service doit être lu au démarrage et le système doit lire les politiques personnalisées pour exécuter les tâches planifiées pendant le fonctionnement.

Plusieurs méthodes de chargement

Les plus courants incluent le code dur à l'intérieur du programme, les fichiers de configuration, les variables d'environnement, les paramètres de démarrage, basés sur la base de données, etc.

La configuration nécessite une gouvernance

Le même programme nécessite différentes configurations dans différents environnements (développement, test, production) et différents clusters (tels que différents centres de données), une gestion complète de l'environnement et de la configuration du cluster est donc requise.

1.2 Centre de configuration

Dans l'architecture des microservices, lorsque le système est divisé à partir d'une seule application en nœuds de service sur le système distribué, les fichiers de configuration doivent être migrés (séparés) en conséquence, afin que la configuration soit dispersée.

Le centre de configuration sépare la configuration de chaque application et gère la configuration de manière unifiée. L'application elle-même n'a pas besoin de la configurer et de la gérer elle-même.

2. Présentation de Nacos

Le produit open source d'Alibaba est une solution complète pour la découverte de services, la gestion de la configuration et la gouvernance des services dans l'architecture des microservices.

Site officiel:https://nocas.io/

2.1 Caractéristiques

Quatre fonctions majeures

Découverte des services et vérifications de l'état des services

nacos facilite l'enregistrement et la découverte d'autres services via des interfaces DNS ou HTTP. Nacos fournit également une inspection en temps réel des services, empêchant l'envoi de requêtes à des hôtes ou à des instances de service défectueux.

Gestion de configuration dynamique

Dynamic Configuration Services vous permet de gérer de manière centralisée et dynamique la configuration de tous les services dans tous les environnements. Nacos élimine le besoin de redéployer les applications lorsque les configurations sont mises à jour, ce qui rend les modifications de configuration plus efficaces et plus flexibles.

Définissez automatiquement la configuration de l'ID de données étendu. La configuration interne a la priorité de configuration la plus élevée : plus n dans l'ID de données étendu est grand, plus la priorité est élevée. L'ordre de chargement de bootstrap.yml est prioritaire sur application.yml.

Désactivez complètement la configuration : désactivez complètement la configuration Spring Cloud Nacos en définissant spring.cloud.nacos.config.enable=false.

Les nacos peuvent être déployés en clusters.

L'annotation @Value est une annotation fournie par le framework Spring. Elle est utilisée pour obtenir la valeur dans le fichier de configuration. Elle peut être utilisée pour obtenir les éléments de configuration dans n'importe quel fichier de configuration (tel que application.properties, application.yml). Lorsque vous utilisez l'annotation @Value, vous devez spécifier le chemin complet de l'élément de configuration, par exemple : @Value("${config.key}").

Commande de démarrage nacos (Windows) : startup.cmd -m autonome

Ouvrez le navigateur et entrez http://localhost:8848/nacos pour accéder au service. Le mot de passe du compte par défaut est nacos, nacos.

Service DNS dynamique

Nacos fournit des capacités de découverte de services basées sur le protocole DNS, visant à prendre en charge la découverte de services dans des langages hétérogènes et à prendre en charge l'exposition des points finaux de services enregistrés sur Nacos sous la forme de noms de domaine, permettant aux applications tierces de les examiner et de les découvrir facilement. .

Gestion des services et des métadonnées

Nacos vous permet de gérer tous les services et métadonnées du centre de données du point de vue de la construction d'une plate-forme de microservices, y compris les descriptions des services de gestion, les cycles de vie, l'analyse des dépendances statiques des services, l'état de santé des services, la gestion du trafic des services, les politiques de routage et de sécurité.

3. Découverte des services

Dans l'architecture des microservices, l'ensemble du système est divisé en plusieurs services en fonction des responsabilités et des capacités, et les objectifs commerciaux sont atteints grâce à la collaboration entre les services. De cette façon, nous devons effectuer des appels à distance entre les services dans notre code. Le consommateur du service doit appeler le producteur du service afin de compléter une demande,Le consommateur doit connaître l'emplacement du réseau du producteur de services(Adresse IP et numéro de port).

·