当前位置:网站首页>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
边栏推荐
- [no title] free test questions for constructor municipal direction general foundation (constructor) and theoretical test for constructor municipal direction general foundation (constructor) in 2022
- Leetcode t29: divide two numbers
- 基于Gazebo的无人机管道检测
- Yolov5 advanced six target tracking environment construction
- 动态代理
- Luogu p1088 [noip2004 popularization group] Martians
- 嵌入式工程师面试题3-硬件
- 一文纵览主流 NFT 市场平台版税、服务费设计
- Agrometeorological environment monitoring system
- What is the material of 16mo3 steel plate? What is the difference between 16mo3 and Q345R?
猜你喜欢

Memory size end

机动目标跟踪——当前统计模型(CS模型)扩展卡尔曼滤波/无迹卡尔曼滤波 matlab实现

Introduction to 18mnmo4-5 steel plate executive standard and delivery status of 18mnmo4-5 steel plate, European standard steel plate 18mnmo4-5 fixed rolling

3、Modbus通讯协议详解

Maneuvering target tracking -- current statistical model (CS model) extended Kalman filter / unscented Kalman filter matlab implementation

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

19Mn6 German standard pressure vessel steel plate 19Mn6 Wugang fixed binding 19Mn6 chemical composition

Mavros sends a custom topic message to Px4

Redis publish subscription
![[JS reverse] MD5 encryption parameter cracking](/img/06/0610045d287f646479d6eb5021a067.png)
[JS reverse] MD5 encryption parameter cracking
随机推荐
How can enterprises and developers take the lead in the outbreak of cloud native landing?
中断与其他函数共享变量、临界资源的保护
长安链同步节点配置与启动
为什么LTD独立站就是Web3.0网站!
V79.01 Hongmeng kernel source code analysis (user mode locking) | how to use the fast lock futex (Part 1) | hundreds of blogs analyze the openharmony source code
2022 examination summary of quality controller civil engineering direction post skills (quality controller) and reexamination examination of quality controller civil engineering direction post skills
Vscode customize the color of each area
Huawei machine test questions column subscription Guide
How to recruit Taobao anchor suitable for your own store
MD文档中插入数学公式,Typora中插入数学公式
Glitch Free时钟切换技术
华为机试真题专栏订阅指引
如何招到适合自己店铺的淘宝主播
The use of word in graduation thesis
深度学习训练样本扩增同时修改标签名称
Leetcode t39: combined sum
Memory size end
[Yu Yue education] Shandong Vocational College talking about railway reference materials
Review of week 280 of leetcode
Agrometeorological environment monitoring system






