中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot開發案例Nacos配置管理中心

發布時間:2020-10-22 19:31:32 來源:網絡 閱讀:1003 作者:Java_老男孩 欄目:編程語言

前言

在開發過程中,通常我們會配置一些參數來實現某些功能,比如是否開啟某項服務,告警郵件配置等等。一般會通過硬編碼、配置文件或者數據庫的形式實現。

那么問題來了,如何更加優雅的實現?歡迎來到 Nacos 的世界!

Nacos 配置管理

Nacos 是阿里巴巴的開源的項目,全稱 Naming Configuration Service ,專注于服務發現和配置管理領域。

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

Nacos 生態圖

SpringBoot開發案例Nacos配置管理中心

如 Nacos 全景圖所示,Nacos 無縫支持一些主流的開源生態,例如

  • Spring Cloud
  • Apache Dubbo and Dubbo Mesh TODO
  • Kubernetes and CNCF TODO。

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

Nacos Spring Boot 快速開始

這里以為 Spring-Boot2.x 為例:

pom.xml引入依賴:

<dependency>
      <groupId>com.alibaba.boot</groupId>
      <artifactId>nacos-config-spring-boot-starter</artifactId>
      <version>0.2.1</version>
</dependency>

啟動類:

package com.itstyle.nacos;

import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 啟動類
 * 創建者 爪哇筆記 https://blog.52itstyle.vip
 * 創建時間 2019年7月14日
 * dataId 可以根據自己的項目自定義
 * autoRefreshed 是一個布爾值, Nacos 就會把最新的配置推送到該應用的所有機器上,簡單而高效。
 */
@SpringBootApplication
@NacosPropertySource(dataId = "itstyle.blog", autoRefreshed = true)
public class Application  {
    private static final Logger logger = LoggerFactory.getLogger(Application.class);

    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
        logger.info("啟動");
    }

使用案例:

package com.itstyle.nacos;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 創建者 爪哇筆記 https://blog.52itstyle.vip
 */
@Controller
@RequestMapping(value = "config")
public class NacosConfigController {

    @NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
    private boolean useLocalCache;

    @RequestMapping(value = "/get", method = RequestMethod.GET)
    @ResponseBody
    public boolean get() {
        return useLocalCache;
    }
}

配置文件引入:

# 安全機制,建議走內網、配置防火墻
nacos.config.server-addr=127.0.0.1:8848

服務端安裝配置請參考:

https://nacos.io/zh-cn/docs/quick-start.html

主頁:

SpringBoot開發案例Nacos配置管理中心

dataId 一定要與系統配置保持一致,配置內容為鍵值對的方式。

SpringBoot開發案例Nacos配置管理中心

實例化數據庫

Nacos Server 默認使用的是內嵌的數據庫,生產環境建議修改使用 mysql 數據庫存儲配置信息。

在配置文件application.properties添加配置:

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

創建數據庫,在Nacos Server conf文件夾下,找到nacos-mysql.sql文件,導入創建的數據庫即可。

Nacos默認賬號密碼為:nacos,修改密碼需要使用引入:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
</dependency>

然后使用代碼加密:

package com.itstyle.nacos;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * 創建者 爪哇筆記 https://blog.52itstyle.vip
 */
public class PasswordEncoderUtil {
    public static void main(String[] args) {
        System.out.println(new BCryptPasswordEncoder().encode("nacos"));
    }
}

小結

總的來說,Nacos 還是蠻方便的,配置中心也僅僅是它的一個小功能而已。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延边| 连州市| 武宣县| 铜陵市| 上高县| 通河县| 兰考县| 柏乡县| 莱芜市| 温泉县| 垣曲县| 九江县| 西乌珠穆沁旗| 绿春县| 抚州市| 伊通| 蓬安县| 湖北省| 茌平县| 平谷区| 五家渠市| 浦北县| 岱山县| 昌黎县| 屯昌县| 荣成市| 桓台县| 贺州市| 清丰县| 通道| 泰来县| 竹北市| 宿迁市| 青海省| 永定县| 麻栗坡县| 葵青区| 渭南市| 秭归县| 本溪市| 乃东县|