当前位置:网站首页>Nacos - gestion de la configuration
Nacos - gestion de la configuration
2022-07-01 08:40:00 【Sxheniga】
Source de la traduction des notes:Cheval noirNacos
https://www.bilibili.com/video/BV1VJ411X7xX?p=17&spm_id_from=333.880.my_history.page.click&vd_source=3c0d9a4d48df5bf76352d1653111b1d7
Un.、Centre de configuration
1、Brève description
Le Centre de configuration est généralement utilisé dans les microservices,Une fois qu'un seul système est divisé en noeuds de service sur un système de distribution de composants,Le fichier de configuration du système doit également être divisé.Le Centre de configuration consiste à séparer les fichiers de configuration du système, Gestion unifiée de la configuration du système , Et la configuration du système a été modifiée à distance , L'application peut également obtenir activement le contenu de la configuration modifiée , L'application elle - même n'a pas besoin de gérer la configuration du système elle - même .
En termes simples,C'est ça.SpringbootDeyml Attendre que le profil soit placé à distance ,ParSpringbootAccès actif.

2、Caractéristiques
1) Caractéristiques de configuration
| Caractéristiques de configuration | Description | |
| 1 | La configuration est une variable en lecture seule indépendante du programme | Lisez la configuration pour changer votre comportement |
| 2 | Configurer tout le cycle de vie de l'application qui l'accompagne | Configuration tout au long du cycle de vie de l'application |
| 3 | La configuration peut être chargée de plusieurs façons | Disponible via le profil、Variables d'environnement、Paramètres de démarrage、 Chargement de la base de données, etc |
| 4 | La configuration nécessite une gouvernance | Différencier le développement、Tests、Production; Distinguer les différents groupes |
2) Configurer les propriétés centrales
| Configurer les propriétés centrales | |
| 1 | Les éléments de configuration sont faciles à lire et à modifier |
| 2 | Gestion de la configuration des applications dans un environnement distribué,C'est - à - dire la capacité de fournir une configuration de gestion à distance |
| 3 | Message examen des modifications apportées à la configuration pour contrôler les risques |
| 4 | Vous pouvez voir l'historique des modifications de configuration |
| 5 | Isolement de la configuration de l'application dans différents environnements de déploiement |
2.、Nacos
1、NacosIntroduction
NacosDédié à vous aider à découvrir、Configurer et gérer les microservices. C'est un produit open source d'Ali , Est destiné à la découverte de services dans l'architecture des microservices ,Gestion de la configuration,.Solutions intégrées pour la gouvernance des services, Peut aider à être plus agile et facile à construire 、Fournir et gérer des plateformes de micro - services.
2、NacosCaractéristiques
| NacosCaractéristiques | Description | |
| 1 | .Découverte du service et bilan de santé du service | Plus facile à enregistrer ,AdoptionDNSOuHTTPService de découverte d'interface; Bilan de santé des services en temps réel |
| 2 | Gestion dynamique de la configuration | Suppression du redéploiement des applications lors de la mise à jour de la configuration, Cela rend les mises à jour configurées plus efficaces et flexibles |
| 3 | DynamiqueDNSServices | Fournir une base de donnéesDNSCapacité de découverte de service de l'accord,.Découverte de services conçus pour soutenir des langues hétérogènes |
| 4 | Gestion des services et des métadonnées | Du point de vue de la plateforme de micro - services ,Gérer tous les services et métadonnées du Centre de données |
3、Comparaison des centres de configuration
| Projets de comparaison | Spring Cloud Config | Apollo | Nacos |
| Livraison en direct | Soutien(Spring Cloud Bus) | Soutien(HTTPLong vote1SIntérieur) | Soutien(HTTPLong vote1SIntérieur) |
| Gestion des versions | Soutien(Git) | Soutien | Soutien |
| Configurer le rollback | Soutien(Git) | Soutien | Soutien |
| Publication en niveaux de gris | Soutien | Soutien | Non pris en charge |
| Gestion des droits | Soutien(DépendanceGit) | Soutien | Non pris en charge |
| Grappes multiples | Soutien | Soutien | Soutien |
| Environnement multiple | Soutien | Soutien | Soutien |
| Écouter les requêtes | Soutien | Soutien | Soutien |
| Multilingue | SoutienJava | Langues dominantes,Open API | Langues dominantes,Open API |
| Configuration de la vérification du format | Non pris en charge | Soutien | Soutien |
| Lecture automatique(QPS) | 7(En raison de la limitation du courant) | 9000 | 15000 |
| Écrire seul(QPS) | 5(En raison de la limitation du courant) | 1100 | 1800 |
| 3Node read(QPS) | 21(En raison de la limitation du courant) | 27000 | 45000 |
| 3Node Write(QPS) | 5(En raison de la limitation du courant) | 3300 | 5600 |
Trois、NacosDémarrage rapide
1、Paquet d'installation
nacos-server-1.1.4
https://www.aliyundrive.com/s/2cUubQYMSX9
2、..Démarrer le serveur
![]() |
3、Accès à l'interface
| Adresse locale | http://127.0.0.1:8848/nacos/index.html |
| Numéro de compte, mot de passe | Numéro de compte:nacos Mot de passe:nacos |
![]() |
4、OPEN API Test de gestion de la configuration
1)AvecApiPostOuPostman Publier la demande de configuration
| 127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld |
![]() |
2) Configuration de visualisation de l'interface
![]() |
5、NacosConnexion externeMysqlStockage
En mode autonome,NacosLe stockage des données est réalisé par défaut à l'aide d'une base de données intégrée,Si vous voulez utiliser l'extérieurMysqlStockageNacosDonnées, Les étapes suivantes sont nécessaires :
1)Installer la base de données
MySQL:5.6.5+,MySQL 8 Ci - dessous
2)Initialisation de la base de données
InitialisationMySQLNom de la base de données,Oui.nacos-mysql.sqlImporter
|
3)Modifier le profilapplication.properties
spring.datasource.platform=mysql
|
Quatre、NacosDémarrer la configuration
1、Publier la configuration[Fonctionnement de l'interface]


2、NacosLe client obtient la configuration[Introduction]
1)NouveauMavenProjets

2)pomDocumentation
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dgs</groupId>
<artifactId>Nacos01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies>
</project>Cinq、NacosConfigurer le modèle de gestion
PourNacosGestion de la configuration,AdoptionNamespace、group、Data ID Possibilité de naviguer vers un ensemble de configuration

Ensemble de configuration(Data ID)
Dans le système,Un profil est généralement unEnsemble de configuration,Un ensemble de configuration peut contenir diverses informations de configuration pour le système,Par exemple,Un ensemble de configuration peut contenir une source de données、Pool de Threads、Éléments de configuration tels que le niveau du Journal. Chaque ensemble de configuration peut définir un nom significatif ,C'est l'ensemble de configurationID,C'est - à - dire:Data ID.
Éléments de configuration(Contenu de la configuration)
Un par un dans l'ensemble de configuration Contenu de la configuration C'est l'élément de configuration .Il représente un paramètre configurable spécifique avec sa plage de valeurs,Habituellement aveckey=valueL'existence formelle de.Par exemple, nous configurons souvent le niveau de sortie du Journal du système(logLevel=INFO|WARN|ERROR)C'est un élément de configuration.
Configurer les groupes(Group)
Le regroupement de configuration est le regroupement d'un ensemble de configuration,Par une chaîne significative(Par exemple:BuyOuTrade)Pour représenter,Vous pouvez avoir le même ensemble de configuration sous différents groupes de configuration(Data ID). Quand vous recommencerez NacosLors de la création d'une configuration sur,Si le nom du Groupe de configuration n'est pas rempli,Le nom par défaut du Groupe de configuration estDEFAULT_GROUP.Configurer des scénarios communs pour les regroupements:Peut être utilisé pour distinguer différents projets ou applications.
Espace de noms(Namespace)
Espace de noms(namespace)Peut être utilisé pour l'isolement de configuration dans différents environnements.Par exemple, vous pouvez isoler l'environnement de développement、Environnement d'essai et de production, Parce que leurs configurations peuvent varier ,Ou isoler différents utilisateurs,Différents développeurs utilisent le mêmeNacosGérer les configurations respectives, Ça passe par yo namespaceisolement,Sous différents espaces de noms,Un groupe de configuration avec le même nom peut exister(Group)Ou un ensemble de configuration.
Six、NacosGestion de la configuration appliquée aux systèmes distribués
1、Architecture des microservices
Décomposer l'application en petits 、 Microservices interconnectés , Évitez de développer une application monolithique géante ,Au lieu de cela, décomposez l'application en petits、Microservices interconnectés.
Un micro - Service remplit généralement une fonction spécifique,Comme le Service de commande、Services aux utilisateurs, etc.Chaque micro - service est une application complète, Chacun a sa propre logique d'entreprise et ses propres services
2、Gestion de la configuration des applications distribuées

- L'utilisateur passe parNacos ServerGestion centralisée de la configuration de plusieurs services sur la console.
- Tous les services sont unifiés à partir deNacos ServerPour obtenir leurs configurations respectives,Et écouter les changements de configuration.
3、NacosIntégrationSpringboot
1)Ajouter un espace de nomsdev


2)Indev L'espace de noms publie deux configurations
① Nacos1.yaml
②Nacos2.yaml
3)CréationMavenProjet parent



4)MavenConfiguration de la version

5)MavenProjet parent ajouterpomDépendance
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dgs</groupId>
<artifactId>NacosTest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- Ajouter le Sous - projet après ,pom C'est ce qui se passe dans la dépendance
<modules>
<module>Nacos1</module>
<module>Nacos2</module>
</modules>-->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF‐8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF‐8</project.reporting.outputEncoding>
</properties>
<dependencyManagement>
<dependencies>
<!-- spring cloud alibaba 2.1.0.RELEASE-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
6)Nouveau sous - projetNacos1



7)Sous - projetNacos1AjouterpomDépendance
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>NacosTest</artifactId>
<groupId>com.dgs</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>Nacos1</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
8)Nacos1Sous - projet,Nouveau profil

9)Nacos1Sous - projet,AjouterSpringbootClasse de démarrage

10)Nacos1Sous - projet,AjouterController,Obtenir à distanceNacosContenu du profil

11)Test de démarrage

12) Nouveau sous - projet Nacos2,Même chose.Nacos1
13) Nouveau sous - projet Nacos2Profil pour

14) Nouveau sous - projet Nacos2Classe de démarrage

15)Nacos2Sous - projet,AjouterController,Obtenir à distanceNacosContenu du profil

16)Test de démarrage

4、Extensions personnalisées Data Id Configuration
Spring Cloud Alibaba Nacos Config Personnalisation prise en charge Data Id Configuration de.
Par extension personnalisée Data Id Configuration,Peut résoudre le problème du partage de configuration entre plusieurs applications,Vous pouvez également prendre en charge une application avec plusieurs profils.
spring:
application:
name: service2
cloud:
nacos:
config:
server‐addr: 127.0.0.1:8848
# config external configuration
# 1、Data Id Dans le Groupe par défaut DEFAULT_GROUP,Rafraîchissement dynamique configuré non pris en charge
ext‐config[0]:
data‐id: ext‐config‐common01.properties
# 2、Data Id Pas dans le Groupe par défaut,Rafraîchissement dynamique non pris en charge
ext‐config[1]:
data‐id: ext‐config‐common02.properties
group: GLOBALE_GROUP
# 3、Data Id Ni dans le Groupe par défaut,Le rafraîchissement dynamique est également pris en charge
ext‐config[2]:
data‐id: ext‐config‐common03.properties
group: REFRESH_GROUP
refresh: true
|
- Adoptionspring.cloud.nacos.config.ext-config[n].data-id Est configuré pour supporter plusieursData IdConfiguration de
- Adoptionspring.cloud.nacos.config.ext-config[n].group Personnaliser la configuration deDaya Id Location où ,Par défautDEFAULT_GROUP
- Adoptionspring.cloud.nacos.config.ext-config[n].refreshEst configuré pour contrôlerData Id Lors du changement de configuration, Si le rafraîchissement dynamique de l'application est pris en charge ,Dernière valeur de configuration détectée.La valeur par défaut n'est pas prise en charge
5、Partage personnalisé Data Id Configuration
spring:
cloud:
nacos:
config:
shared‐dataids: ext‐config‐common01.properties,ext‐config‐common02.properties
refreshable‐dataids: ext‐config‐common01.properties
|
- Adoptionspring.cloud.nacos.config.shared-dataids Pour supporter plusieurs partagesData IdConfiguration de, Plusieurs ont été séparés par des virgules .
- Adoptionspring.cloud.nacos.config.refreshable-dataids Pour supporter quelles configurations de partageData Id Lors du changement de configuration, Possibilité de rafraîchir dynamiquement dans l'application ,Dernière valeur de configuration détectée,PlusieursData ID Séparés par des virgules. Si ce n'est pas explicitement configuré , Le rafraîchissement dynamique n'est pas pris en charge par défaut
- Il metgroupFixé àDEFAULT_GROUP
6、Configurer les priorités
A、Adoption des règles internes pertinentes(Nom de la demande、Extension) Générer automatiquement lesData IdConfiguration
B、Extensions multiplesData Id
C、 Partage multiple Data Id
A>B>C
边栏推荐
- 动态代理
- How to use OKR as the leadership framework of marketing department
- yolov5训练可视化指标的含义
- Nacos - 服务发现
- MATLAB小技巧(23)矩阵分析--模拟退火
- 【华为机试真题详解】判断字符串子序列【2022 Q1 Q2 | 200分】
- NIO-零拷贝
- Leetcode t31: next spread
- What is the material of 16MnDR, the minimum service temperature of 16MnDR, and the chemical composition of 16MnDR
- 性能提升2-3倍!百度智能云第二代昆仑芯服务器上线
猜你喜欢
![Thread safety analysis of [concurrent programming JUC] variables](/img/f9/a3604bec6f7e5317dd2c578da73018.jpg)
Thread safety analysis of [concurrent programming JUC] variables

C basic knowledge review (Part 4 of 4)

电脑小技巧

明明设计的是高带宽,差点加工成开路?

Memory size end

你了解数据是如何存储的吗?(C整型和浮点型两类)

How can enterprises and developers take the lead in the outbreak of cloud native landing?

Only in China! Alicloud container service enters the Forrester leader quadrant

《微机原理》—总线及其形成

vscode自定义各个区域的颜色
随机推荐
The era of low threshold programmers is gone forever behind the sharp increase in the number of school recruitment for Internet companies
Leetcode t34: find the first and last positions of elements in a sorted array
Gateway-88
Memory size end
[untitled]
基础:2.图像的本质
Li Kou 1358 -- number of substrings containing all three characters (double pointer)
Share 7 books I read in the first half of 2022
Burpsuite -- brute force cracking of intruder
Yolov5 advanced six target tracking environment construction
公网集群对讲+GPS可视追踪|助力物流行业智能化管理调度
What is the material of 15CrMoR, mechanical properties and chemical analysis of 15CrMoR
AVL树的理解和实现
挖财打新股安全吗
机动目标跟踪——当前统计模型(CS模型)扩展卡尔曼滤波/无迹卡尔曼滤波 matlab实现
Matlab [functions and images]
基础:3.opencv快速入门图像和视频
Leetcode t40: combined sum II
2022 Chinese cook (technician) simulation test and Chinese cook (technician) practice test video
个人装修笔记






