91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

塔城市| 阿鲁科尔沁旗| 全南县| 黄梅县| 上思县| 舒兰市| 郯城县| 五峰| 抚州市| 伊金霍洛旗| 临汾市| 通江县| 阿城市| 丹巴县| 乐东| 闽清县| 临夏市| 科技| 鹿泉市| 泸西县| 保亭| 长治市| 崇明县| 佳木斯市| 观塘区| 皮山县| 麦盖提县| 阿瓦提县| 广平县| 正安县| 西华县| 泗水县| 阿荣旗| 萨嘎县| 通城县| 前郭尔| 桂东县| 宕昌县| 淮安市| 吉木萨尔县| 宜宾县|