javascript
springboot nacos配置中心_SpringBoot开发案例之Nacos配置管理中心
前言
在開發(fā)過程中,通常我們會(huì)配置一些參數(shù)來(lái)實(shí)現(xiàn)某些功能,比如是否開啟某項(xiàng)服務(wù),告警郵件配置等等。一般會(huì)通過硬編碼、配置文件或者數(shù)據(jù)庫(kù)的形式實(shí)現(xiàn)。
那么問題來(lái)了,如何更加優(yōu)雅的實(shí)現(xiàn)?歡迎來(lái)到 Nacos 的世界!
Nacos 配置管理
Nacos 是阿里巴巴的開源的項(xiàng)目,全稱 Naming Configuration Service ,專注于服務(wù)發(fā)現(xiàn)和配置管理領(lǐng)域。
Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。
Nacos 生態(tài)圖
如 Nacos 全景圖所示,Nacos 無(wú)縫支持一些主流的開源生態(tài),例如
- Spring Cloud
- Apache Dubbo and Dubbo Mesh TODO
- Kubernetes and CNCF TODO。
使用 Nacos 簡(jiǎn)化服務(wù)發(fā)現(xiàn)、配置管理、服務(wù)治理及管理的解決方案,讓微服務(wù)的發(fā)現(xiàn)、管理、共享、組合更加容易。
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>啟動(dòng)類:
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;/*** 啟動(dòng)類* 創(chuàng)建者 爪哇筆記 https://blog.52itstyle.vip* 創(chuàng)建時(shí)間 2019年7月14日* dataId 可以根據(jù)自己的項(xiàng)目自定義* autoRefreshed 是一個(gè)布爾值, Nacos 就會(huì)把最新的配置推送到該應(yīng)用的所有機(jī)器上,簡(jiǎn)單而高效。*/ @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("啟動(dòng)");}使用案例:
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;/*** 創(chuàng)建者 爪哇筆記 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;} }配置文件引入:
# 安全機(jī)制,建議走內(nèi)網(wǎng)、配置防火墻 nacos.config.server-addr=127.0.0.1:8848服務(wù)端安裝配置請(qǐng)參考:
https://nacos.io/zh-cn/docs/quick-start.html
主頁(yè):
dataId 一定要與系統(tǒng)配置保持一致,配置內(nèi)容為鍵值對(duì)的方式。
實(shí)例化數(shù)據(jù)庫(kù)
Nacos Server 默認(rèn)使用的是內(nèi)嵌的數(shù)據(jù)庫(kù),生產(chǎn)環(huán)境建議修改使用 mysql 數(shù)據(jù)庫(kù)存儲(chǔ)配置信息。
在配置文件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創(chuàng)建數(shù)據(jù)庫(kù),在Nacos Server conf文件夾下,找到nacos-mysql.sql文件,導(dǎo)入創(chuàng)建的數(shù)據(jù)庫(kù)即可。
Nacos默認(rèn)賬號(hào)密碼為: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;/*** 創(chuàng)建者 爪哇筆記 https://blog.52itstyle.vip*/ public class PasswordEncoderUtil {public static void main(String[] args) {System.out.println(new BCryptPasswordEncoder().encode("nacos"));} }小結(jié)
總的來(lái)說,Nacos 還是蠻方便的,配置中心也僅僅是它的一個(gè)小功能而已。
參考
home?nacos.io作者: 小柒
出處: https://blog.52itstyle.vip
分享是快樂的,也見證了個(gè)人成長(zhǎng)歷程,文章大多都是工作經(jīng)驗(yàn)總結(jié)以及平時(shí)學(xué)習(xí)積累,基于自身認(rèn)知不足之處在所難免,也請(qǐng)大家指正,共同進(jìn)步。
總結(jié)
以上是生活随笔為你收集整理的springboot nacos配置中心_SpringBoot开发案例之Nacos配置管理中心的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python辗转相除法求最大公约数的递归
- 下一篇: 手动安装sys驱动文件_海龙工具的正确安