Spring Cloud 系列之 Nacos 配置中心

目錄

  • 一、Nacos簡介
  • 二、Nacos安裝及配置
    • 1、環境準備
    • 2、安裝包下載
      • (1)源碼方式
      • (2)發行包方式
    • 3、啟動Nacos服務
    • 4、Nacos數據庫配置
      • (1)MySQL數據源
      • (2)初始化 MySQL 數據庫
      • (3)application.properties 配置
    • 5、Nacos配置入門
      • (1)發布配置


Nacos在項目中的使用:SpringBoot 集成 Nacos


一、Nacos簡介

NacosAlibaba 公司推出的開源工具,用于實現分布式系統的服務發現與配置管理。英文全稱 Dynamic Naming and Configuration Service,Na 為 Naming/NameServer 即注冊中心,co 為 Configuration 即配置中心,Service 是指該注冊/配置中心都是以服務為核心。服務(Service)是 Nacos 世界的一等公民。

官網是這樣說的:一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。

Nacos 致力于發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,可以快速實現動態服務發現、服務配置、服務元數據及流量管理。

Nacos 可以更敏捷和容易地構建、交付和管理微服務平臺。 Nacos 是構建以“服務”為中心的現代應用架構的服務基礎設施。

使用 Nacos 簡化服務發現、配置管理、服務治理及管理的解決方案,讓微服務的發現、管理、共享、組合更加容易。

Nacos 官網:https://nacos.io/zh-cn/

Github:https://github.com/alibaba/nacos


二、Nacos安裝及配置

1、環境準備

Nacos 依賴 Java 環境來運行。如果您是從代碼開始構建并運行 Nacos,還需要為此配置 Maven 環境,請確保是在以下版本環境中安裝使用:

  • JDK 1.8+

  • Maven 3.2.x+


2、安裝包下載

可以通過源碼和發行包兩種方式來獲取 Nacos。

(1)源碼方式

從 Github 上下載源碼方式。

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

(2)發行包方式

您可以從 https://github.com/alibaba/nacos/releases 下載最新穩定版本的 nacos-server 包。


3、啟動Nacos服務

Nacos 的解壓目錄 nacos/bin 目錄下啟動。

啟動命令(standalone 代表著單機模式運行,非集群模式):

# Linux / Mac
sh startup.sh -m standalone

訪問地址: http://localhost:8848/nacos/

默認用戶名/密碼是 nacos/nacos

彈出如下界面說明啟動成功。

在這里插入圖片描述
在這里插入圖片描述
執行如下命令可關閉 Nacos 服務:

sh shutdown.sh

4、Nacos數據庫配置

Nacos0.7 版本之前,默認使用的是嵌入式數據庫 Apache Derby 來存儲數據(內嵌的數據庫會隨著 Nacos 一起啟動,無需額外安裝);0.7 版本及以后,增加了對 MySQL 數據源的支持。


(1)MySQL數據源

環境要求:MySQL 5.6.5+(生產使用建議至少主備模式,或者采用高可用數據庫);


(2)初始化 MySQL 數據庫

創建數據庫 nacos_config

SQL源文件地址:https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql ,或者在 nacos-server 解壓目錄 conf 下,找到 nacos-mysql.sql 文件,運行該文件,結果如下:

在這里插入圖片描述

(3)application.properties 配置

修改 nacos/conf/application.properties 文件的以下內容。
在這里插入圖片描述
最終修改結果如下:

#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
# 指定數據源為 MySQL
spring.datasource.platform=mysql### Count of DB:
# 數據庫實例數量
db.num=1# 數據庫連接信息,如果是 MySQL 8.0+ 版本需要添加 serverTimezone=Asia/Shanghai
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=1234

注:如果你和我一樣使用的是 MySQL 8.0+ 版本,那么啟動 Nacos 時肯定會報錯。莫慌,在 Nacos 安裝目錄下新建 plugins/mysql 文件夾,并放入 8.0+ 版本的 mysql-connector-java-8.0.xx.jar,重啟 Nacos 即可,啟動時會提示更換了 MySQLdriver-class 類。


5、Nacos配置入門

(1)發布配置

選擇 配置管理配置列表 頁面,點擊最右側 + 按鈕新建配置。
在這里插入圖片描述
Nacos Config 使用 Data IDGroup 來確定配置。

下圖顯示 Data Idapm-mobile-android.properties,組使用默認組,并添加 properties 格式的配置信息。
在這里插入圖片描述
這里我們創建了 properties 格式的配置,你也可以創建 yaml 格式的配置。

填寫好之后點擊 發布 按鈕即可創建完成。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446731.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446731.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446731.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++primer第八章 IO庫 8.2 文件輸入輸出

8.2文件輸入輸出 頭文件fstream定義了三個類型來支持文件IO:ifstream從一個給定文件讀取數據,ofstream向一個給定文件寫入數據,以及fstream可以讀寫給定文件。在17.5.3節中(第676頁)我們將介紹如何對同一個文件流既讀…

codeforces 112A-C語言解題報告

112A題目網址 題目解析 1.輸入兩行字符串,不區分大小寫地使用字典序去比較大小 A<B -1 A>B 1 AB 0 舉例: 輸入 abcdefg AbCdEfF 輸出 1 2.字典序:在遇到第一個不同的字符時,比較的大小,就是字符串的大小 列舉法: 1.列出所有情況 1)a[i]是大寫,b[i]是小寫 a[i]轉換為小…

SpringBoot 集成 Nacos

目錄一、前言二、Nacos集成1、引入Nacos依賴2、設置Nacos配置3、加載Nacos配置中心配置項4、Nacos集成驗證5、Nacos配置中心配置項動態生效Nacos安裝詳見&#xff1a;Spring Cloud 系列之 Nacos 配置中心 一、前言 上一篇已經講解了怎樣安裝安裝、啟動、配置 Nacos&#xff0c…

C++primer第八章 IO庫 8.3string流

8.3string流 sstream頭文件定義了三個類型來支持內存IO,這些類型可以向string寫入數據,從string讀取數據&#xff0c;就像string是一個IO流一樣。istringstream從string讀取數據&#xff0c;ostringstream向string寫入數據&#xff0c;而頭文件stringstream既可從string讀數據…

英語口語海報演講--東軟

海報 海報上的內容 Nuclear waste water 1.Damage the devastating impact of nuclear radiation on the world 2.Marine life genetically mutated or dead 3.water resources polluted water resources 4.the future of humanity genetic damage/food and environment destr…

Java中 List、Set、Map遍歷方式以及性能比較

目錄一、簡介二、遍歷方式1、ArrayList遍歷方式&#xff08;1&#xff09;for循環遍歷&#xff08;2&#xff09;foreach循環遍歷&#xff08;3&#xff09;Iterator迭代器遍歷2、LinkedList遍歷方式&#xff08;1&#xff09;for循環遍歷&#xff08;2&#xff09;foreach循環…

codeforces 263A-C語言解題報告

263A題目網址 題目解析 1.輸入5*5的矩陣(下標從到5),包含24個0和一個1,問如何移動最小的次數(i相鄰行或列)可以讓1位于3行3列 舉例: 輸入: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 輸出: 3 注意點 1.因為數組是從0開始的,所以減2就行 row-2col-2 2.使用整型二維…

一個DEMO讓你徹底理解線程池

目錄一、簡介二、線程池任務場景場景一&#xff1a;提交5個任務&#xff0c;執行總耗時500ms場景二&#xff1a;提交10個任務&#xff0c;執行總耗時500ms場景三&#xff1a;提交11個任務&#xff0c;執行總耗時1000ms場景四&#xff1a;提交20個任務&#xff0c;執行總耗時100…

C++primer第九章 順序容器 9.1 順序容器概述 9.2容器庫概覽

一個容器就是一些特定類型對象的集合。順序容器(sequentialcontainer)為程序員提供了控制元素存儲和訪問順序的能力。這種順序不依賴于元素的值&#xff0c;而是與元素加入容器時的位置相對應。與之相對的&#xff0c;我們將在第11章介紹的有序和無序關聯容器&#xff0c;則根據…

SpringBoot 啟動報錯:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb

目錄一、報錯日志二、原因分析三、問題排查四、解決方案方案一&#xff1a;如果項目不需要數據庫相關信息就排除此類的autoconfig方案二&#xff1a;配置文件添加數據庫鏈接信息方案三&#xff1a;配置pom.xml中yml或者properties掃描一、報錯日志 **************************…

codeforces 339A-C語言解題報告

339A題目網址 題目解析 1.輸入如321的式子,升序排序(從小到大)成123 舉例: 輸入: 11313 輸出: 11133 2.對字符串進行排序采取拍冒泡排序算法 char c0; for(i0;i<strlen(s)-1;i) {for(j0;j<strlen(s)-1;j){if(s[j]>s[j1]){cs[j];s[j]s[j1];s[j1]c;}} }代碼 #includ…

C++primer第九章 順序容器 9.3 順序容器操作

9.3順序容器操作 順序容器和關聯容器的不同之處在于兩者組織元素的方式。這些不同之處直接關系到了元素如何存儲、訪問、添加以及刪除。上一節介紹了所有容器都支持的操作&#xff08;羅列于表9.2&#xff08;第295頁&#xff09;&#xff09;。本章剩余部分將介紹順序容器所特…

SpringBoot 集成Nacos報錯(一)

目錄配置信息報錯信息解決方案配置信息 <project><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version><relativePath/></parent>…

C++primer第九章 順序容器 9.4 vector對象是如何增長的

為了支持快速隨機訪問&#xff0c;vector將元素連續存儲&#xff0c;每個元素緊挨著前一個元素存儲。通常情況下&#xff0c;我們不必關心一個標準庫類型是如何實現的&#xff0c;而只需關心它如何使用。然而&#xff0c;對于vector和string,其部分實現滲透到了接口中。假定容器…

codeforces 281A-C語言解題報告

281A題目網址 題目解析 1.字符串首字母大寫 代碼 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() {char s[1000]{\0};scanf("%s",s);if(s[0]>A&&s[0]<Z){printf("%s",s…

SpringBoot 配置文件bootstrap和application的區別

目錄一、SpringBoot配置文件二、bootstrap和application區別三、bootstrap和application的應用場景一、SpringBoot配置文件 bootstrap&#xff08;.yml 或者 .properties&#xff09; application&#xff08;.yml 或者 .properties&#xff09; 二、bootstrap和application區…

C++primer第九章 順序容器 9.5 額外的string操作

除了順序容器共同的操作之外&#xff0c;string類型還提供了一些額外的操作。這些操作中 的大部分要么是提供string類和C 風格字符數組之間的相互轉換,要么是增加了允許我們用下標代替迭代器的版本。標準庫string類型定義了大量函數。幸運的是&#xff0c;這些函數使用了重復的…

Zookeeper Mac下安裝操作

目錄一、下載Zookeeper二、修改配置1、設置啟動配置文件2、修改配置三、啟動Zookeeper服務命令1、bin目錄下執行&#xff08;1&#xff09;啟動Zookeeper命令&#xff08;2&#xff09;查看Zookeeper狀態命令&#xff08;3&#xff09;停止Zookeeper命令2、配置環境變量執行&am…

codeforces 266A-C語言解題報告

266A題目網址 題目解析 1.輸入n(1–50)個石頭個數,輸入RGB的石頭顏色,求問拿走最小的石頭個數,讓它們相鄰的石頭顏色不同 代碼 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() {int n,i,count0;char s[50]{\0};scanf("%d&quo…

2014年考研英語二作文PartB圖表題

作文詳細解析 題目 Write an essay based on the following chart, in which you should interpret the chart, and give your comments You should write about 150 words on the ANSWER SHEET.(15 points) 注意點 1.圖表題在第一段描述圖表信息時,一定要寫清楚y軸變化…