Nacos Mysql8 實現分散式配置中心

Nacos是一個能夠提供動態服務發現、配置管理和服務治理的開源平台,它可以幫助開發者快速構建和管理微服務平台。而Mysql8則是一款性能和功能非常強大的開源關係型資料庫。本文將從多個方面詳細闡述Nacos與Mysql8的結合使用,幫助讀者實現分散式配置中心。

一、配置Nacos

1、首先,我們需要下載Nacos。你可以從他們的官網(https://nacos.io/zh-cn/docs/download.html)上下載最新版本的Nacos,並按照安裝文檔中的說明進行安裝。

2、安裝完成後,我們需要配置Nacos。在conf文件夾中的application.properties文件中設置Nacos的資料庫連接信息。

“`
# spring datasource config
spring.datasource.platform=mysql

## mysql 1.4.0 begin , upgrade from 1.3.2 by @jimmy913
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
“`

3、接下來,我們需要在Nacos的資料庫中創建一個專門用來存儲配置信息的資料庫(nacos_config),你可以使用以下腳本來創建:

“`
CREATE DATABASE IF NOT EXISTS nacos_config DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE nacos_config;

CREATE TABLE `config_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data_id` varchar(256) NOT NULL,
`group_id` varchar(128) NOT NULL,
`content` longtext NOT NULL,
`md5` varchar(32) NOT NULL,
`gmt_create` datetime NOT NULL,
`gmt_modified` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_data_id_group` (`data_id`,`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

“`

4、最後,我們需要啟動Nacos,並登錄Nacos的控制台(默認地址:http://localhost:8848/nacos)。在配置管理中,你就可以對Nacos進行配置了。

二、將Nacos與SpringBoot結合使用

為了將Nacos作為分散式配置中心來使用,我們需要在SpringBoot項目中進行配置。

1、首先,我們需要在SpringBoot的pom.xml文件中引入nacos-config和nacos-discovery的依賴項。

“`

com.alibaba.boot
nacos-config-spring-boot-starter
{latest version}

com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
{latest version}

“`

2、接下來,在SpringBoot項目的application.yml中進行Nacos的配置。注意,下面的配置僅供參考,具體的值需要根據實際情況進行設置。

“`
spring:
application:
name: demo
cloud:
nacos:
config:
server-addr: localhost:8848
group: DEFAULT_GROUP
refreshable-dataids: boot-demo
discovery:
server-addr: localhost:8848
“`

3、然後,在SpringBoot項目中創建一個@RefreshScope註解的類,用來獲取Nacos配置中心中的配置信息:

“`
@RestController
@RequestMapping(“/config”)
@RefreshScope
public class ConfigController {

@Value(“${user.name}”)
private String username;

@Value(“${user.age}”)
private int age;

@GetMapping(“/info”)
public String getConfig() {
return “username: ” + username + “, age: ” + age;
}
}
“`

4、最後,我們需要在Nacos配置中心中創建一個名為「boot-demo」的配置項,並在其中配置user.name和user.age兩個參數。

三、將Nacos與Mysql8結合使用

為了實現分散式配置中心,我們需要將Nacos的數據存儲到Mysql8中。

1、首先,我們需要配置Mysql8的資料庫。你可以使用以下腳本來創建一個用於存儲Nacos數據的資料庫。

“`
CREATE DATABASE IF NOT EXISTS nacos DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE nacos;

CREATE TABLE `config_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data_id` varchar(256) NOT NULL,
`group_id` varchar(128) NOT NULL,
`content` longtext NOT NULL,
`md5` varchar(32) NOT NULL,
`gmt_create` datetime NOT NULL,
`gmt_modified` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_data_id_group` (`data_id`,`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
“`

2、然後,在Nacos的conf文件夾中的application.properties文件中設置Mysql8的資料庫連接信息。

“`
### configured MySQL storage
spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=root

db.password=123456
“`

3、最後,使用以下命令啟動Nacos服務:

“`
sh ${NACOS_HOME}/bin/startup.sh -m standalone
“`

這樣,我們就把Nacos的數據存儲到了Mysql8中,實現了分散式配置中心。

四、總結

本文主要介紹了如何將Nacos和Mysql8結合使用,實現分散式配置中心。首先,我們需要配置Nacos,然後將Nacos與SpringBoot結合使用,最後將Nacos與Mysql8結合使用,從而實現分散式配置中心。

如果您想更深入地了解Nacos和Mysql8的使用,可以參考他們的官方文檔(https://nacos.io/zh-cn/docs/what-is-nacos.html、https://dev.mysql.com/doc/)。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300998.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 14:19
下一篇 2024-12-29 14:19

相關推薦

  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • KeyDB Java:完美的分散式高速緩存方案

    本文將從以下幾個方面對KeyDB Java進行詳細闡述:KeyDB Java的特點、安裝和配置、使用示例、性能測試。 一、KeyDB Java的特點 KeyDB Java是KeyD…

    編程 2025-04-29
  • CPU爆滿怎麼解決 Java為中心

    在Java編程中,難免會遇到CPU佔用過高的情況,接下來從多個方面介紹如何解決CPU爆滿問題。 一、優化代碼 1、減少循環次數。循環體內不要放太多邏輯判斷和計算,可以把計算提取出來…

    編程 2025-04-29
  • CMD如何升級為中心?

    本文將詳細介紹在Windows操作系統下如何將CMD升級為中心,以及如何在升級後使用CMD中心進行操作。 一、下載Windows Terminal Windows Terminal…

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨著深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • 如何修改ant組件的動效為中心

    當我們使用Ant Design時,其默認的組件動效可能不一定符合我們的需求,這時我們需要修改Ant Design組件動效,使其更加符合我們的UI設計。本文將從多個方面詳細闡述如何修…

    編程 2025-04-29
  • 黑夜不迷途打一中藥名為中心

    中藥作為中華民族獨有的藥物療法,已經歷了千百年的歷史,在中醫中發揮著重要的作用。其中有一種藥物,以「黑夜不迷途」為謎底,是一種著名的中藥。下面將從藥物的組成、功效、用法等方面,進行…

    編程 2025-04-29
  • Java Hmily分散式事務解決方案

    分散式系統是現在互聯網公司架構中的必備項,但隨著業務的不斷擴展,分散式事務的問題也日益凸顯。為了解決分散式事務問題,Java Hmily分散式事務解決方案應運而生。本文將對Java…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • 為什麼要除為中心進行平均分組

    平均分組是指將數據分為若干組,使得每組的數據之和儘可能相等,這樣可以更好地控制數據波動,減少誤差。然而,為什麼要除為中心進行平均分組呢?本文將從多個方面進行闡述。 一、分組方式的影…

    編程 2025-04-28

發表回復

登錄後才能評論