javascript
springboot nacos配置中心_SpringBoot开发案例之Nacos配置管理中心
前言
在開發過程中,通常我們會配置一些參數來實現某些功能,比如是否開啟某項服務,告警郵件配置等等。一般會通過硬編碼、配置文件或者數據庫的形式實現。
那么問題來了,如何更加優雅的實現?歡迎來到 Nacos 的世界!
Nacos 配置管理
Nacos 是阿里巴巴的開源的項目,全稱 Naming Configuration Service ,專注于服務發現和配置管理領域。
Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。
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)@ResponseBodypublic boolean get() {return useLocalCache;} }配置文件引入:
# 安全機制,建議走內網、配置防火墻 nacos.config.server-addr=127.0.0.1:8848服務端安裝配置請參考:
https://nacos.io/zh-cn/docs/quick-start.html
主頁:
dataId 一定要與系統配置保持一致,配置內容為鍵值對的方式。
實例化數據庫
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 還是蠻方便的,配置中心也僅僅是它的一個小功能而已。
參考
home?nacos.io作者: 小柒
出處: https://blog.52itstyle.vip
分享是快樂的,也見證了個人成長歷程,文章大多都是工作經驗總結以及平時學習積累,基于自身認知不足之處在所難免,也請大家指正,共同進步。
總結
以上是生活随笔為你收集整理的springboot nacos配置中心_SpringBoot开发案例之Nacos配置管理中心的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python辗转相除法求最大公约数的递归
- 下一篇: 手动安装sys驱动文件_海龙工具的正确安