摘要:什么是是配置管理中心,將配置統(tǒng)一管理提供標(biāo)準(zhǔn)的配置格式及編輯方式。如上圖支持任何應(yīng)用,任何語(yǔ)言的配置管理,,,等,同時(shí)采用語(yǔ)法作用配置文件格式,支持?jǐn)?shù)據(jù)類型及結(jié)構(gòu)化配置。前提創(chuàng)建數(shù)據(jù)庫(kù)配置數(shù)據(jù)庫(kù)連接將文件與文件放置在同一目錄中。
什么是配置?
服務(wù)運(yùn)行時(shí)能夠通過外部動(dòng)態(tài)修改的參數(shù)既是配置。在運(yùn)行時(shí)動(dòng)態(tài)變更服務(wù)的行為,避免業(yè)務(wù)發(fā)生變更需要修改代碼或重啟服務(wù)等等。
什么是 duic?duic 是配置管理中心,將配置統(tǒng)一管理提供標(biāo)準(zhǔn)的配置格式及編輯方式。
設(shè)計(jì)目標(biāo)是統(tǒng)一不同應(yīng)用的配置管理方式,打造更人性化的配置編輯方式,提供更靈活的配置獲取方式。
如上圖:duic 支持任何應(yīng)用,任何語(yǔ)言的配置管理(Java,Go,Android,Web等),同時(shí) duic 采用 YAML 語(yǔ)法作用配置文件格式,支持?jǐn)?shù)據(jù)類型及結(jié)構(gòu)化配置。
如上圖采用 YAML 編輯好配置之后通過 RESTful 接口獲取配置(PS:官方目前已經(jīng)提供Java、Android、Go語(yǔ)言的SDK,后期還會(huì)支持更多語(yǔ)言)。
為什么采用 YAML 作為配置格式?YAML 是一種通用的數(shù)據(jù)格式
YAML 支持結(jié)構(gòu)化配置能夠彌補(bǔ) properties 這類單純 key=value 格式的不足
YAML 支持?jǐn)?shù)據(jù)類型
YAML 支持引用
YAML 支持注釋
YAML 可讀性高
特性支持 MongoDB,MySQL,PostgreSQL,Oracle 存儲(chǔ)配置信息
配置修改實(shí)時(shí)更新
支持多配置合并
支持按需獲取配置
支持歷史版本比較
支持配置克隆
支持用戶權(quán)限控制
支持 IP/Token 訪問限制
支持 Docker
部署開箱即用,duic 每個(gè) release 版本都可以通過 GitHub Releases 獲取 jar 包部署,或者你可以在 Docker Hub 獲取 Docker 鏡像直接部署。你只需要關(guān)注如何使用 duic,而無需關(guān)心內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),當(dāng)然你如果對(duì)實(shí)現(xiàn)細(xì)節(jié)感興趣,非常歡迎幫忙審查代碼,你的幫助可以讓 duic 的代碼變得更加精練。
MySQL 部署在 GitHub Releases 頁(yè)下載最新版本的 duic-x.x.x.jar 文件。
前提Java >= 1.8
MySQL >= 5.6
CREATE DATABASE IF NOT EXISTS `duic` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;配置數(shù)據(jù)庫(kù)連接
application.yml
spring: datasource: url: jdbc:mysql://127.0.0.1:3306/duic?autoReconnect=true&useServerPrepStmts=true username: root password: root
PS:將 application.yml 文件與 duic-x.x.x.jar 文件放置在同一目錄中。啟動(dòng)服務(wù)duic 是采用 spring-boot 開發(fā),配置文件目錄完成遵守 spring-boot 默認(rèn)加載方式,更多關(guān)于 spring-boot 配置可以了解
java -Dspring.profiles.active=mysql -jar duic.jar
輸出如下日志時(shí),恭喜你 duic 已經(jīng)啟動(dòng)成功。
______ _ ______ |_ _ `. (_) ." ___ | | | `. __ _ __ / ." \_| | | | |[ | | | [ || | _| |_." / | \_/ |, | | `.___." |______." ".__."_/[___]`.____ ." :: duic :: (v1.5.2-SNAPSHOT) 2018-05-03 07:06:05,980 INFO i.z.d.server.Application$Companion - Starting Application.Companion v1.5.2-SNAPSHOT on ubuntu with PID 47440 (/opt/duic/duic.jar started by zy in /opt/duic) 2018-05-03 07:06:05,984 INFO i.z.d.server.Application$Companion - The following profiles are active: mysql,prod 2018-05-03 07:06:09,595 INFO r.i.netty.tcp.BlockingNettyContext - Started HttpServer on /0:0:0:0:0:0:0:0%0:7777 2018-05-03 07:06:09,596 INFO o.s.b.w.e.netty.NettyWebServer - Netty started on port(s): 7777 2018-05-03 07:06:09,600 INFO i.z.d.server.Application$Companion - Started Application.Companion in 4.192 seconds (JVM running for 4.864)登錄控制臺(tái)編輯你的第一個(gè)配置吧
http://[IP]:7777/index.html
PS:記得將 IP 替換為你服務(wù)的 IP。
關(guān)于 duic 部署在這里就寫這么多了,有任何問題請(qǐng)給我留言,我將一一解答,更多關(guān)于 duic 部署方面的內(nèi)容,大家可以參考官方提供的文檔 DuiC Wiki。
使用 登錄并創(chuàng)建你的第一個(gè)配置https://duic.zhudy.io/index.html
添加 Maven 依賴
io.zhudy.duic duic-spring-cloud-config-client 2.0.1
添加 Gradle 依賴
compile "io.zhudy.duic:duic-spring-cloud-config-client:2.0.1"
在 bootstrap.yml 配置文件中添加獲取配置信息
duic: spring: cloud: config: uri: https://duic.zhudy.io/api/v1 name: hello profile: first # token: [TOKEN]
uri 配置中心地址前綴
name 配置名稱
profile 配置環(huán)境名稱,多個(gè)采用,分隔
配置完成后在 spring-boot 項(xiàng)目中即可使用 @ConfigurationProperties @Value 方式注入配置依賴,duic 并沒有提供任何自定義注解,完全遵守 spring-boot 的編程習(xí)慣,無縫接入及移除 duic。
GitHub: duic-spring-cloud-config-client
spring 加載配置添加 Maven 依賴
io.zhudy.duic duic-spring-cloud-config-client 2.0.1
添加 Gradle 依賴
compile "io.zhudy.duic:duic-spring-cloud-config-client:2.0.1"
配置完成 spring bean 之后在項(xiàng)目中即可使用 @Value 注入配置,完全兼容 spring 編程習(xí)慣,支持配置熱加載。
GitHub: duic-java-client
go 加載配置引入 duic-go-client 依賴包
go get -u github.com/zhudyos/duic-go-client
初始化配置信息
duic.BaseUri = "https://duic.zhudy.io/api/v1" duic.Name = "hello" duic.Profiles = "first" duic.Init()
獲取配置
duic.Bool("key") // 獲取一個(gè) bool 配置 duic.Int("key") // 獲取一個(gè) int 配置 duic.Float64("key") // 獲取一個(gè) float64 配置 duic.String("key") // 獲取一個(gè) string 配置 duic.Array("key") // 獲取一個(gè)數(shù)組配置 duic.Object("key") // 獲取一個(gè)對(duì)象配置結(jié)語(yǔ)
歡迎 PR!!!
GitHub: https://github.com/zhudyos/duic
QQ群:540315111
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/42543.html
摘要:什么是是配置管理中心,將配置統(tǒng)一管理提供標(biāo)準(zhǔn)的配置格式及編輯方式。如上圖支持任何應(yīng)用,任何語(yǔ)言的配置管理,,,等,同時(shí)采用語(yǔ)法作用配置文件格式,支持?jǐn)?shù)據(jù)類型及結(jié)構(gòu)化配置。前提創(chuàng)建數(shù)據(jù)庫(kù)配置數(shù)據(jù)庫(kù)連接將文件與文件放置在同一目錄中。 什么是配置? 服務(wù)運(yùn)行時(shí)能夠通過外部動(dòng)態(tài)修改的參數(shù)既是配置。在運(yùn)行時(shí)動(dòng)態(tài)變更服務(wù)的行為,避免業(yè)務(wù)發(fā)生變更需要修改代碼或重啟服務(wù)等等。 什么是 duic? du...
摘要:什么是是配置管理中心,將配置統(tǒng)一管理提供標(biāo)準(zhǔn)的配置格式及編輯方式。如上圖支持任何應(yīng)用,任何語(yǔ)言的配置管理,,,等,同時(shí)采用語(yǔ)法作用配置文件格式,支持?jǐn)?shù)據(jù)類型及結(jié)構(gòu)化配置。前提創(chuàng)建數(shù)據(jù)庫(kù)配置數(shù)據(jù)庫(kù)連接將文件與文件放置在同一目錄中。 什么是配置? 服務(wù)運(yùn)行時(shí)能夠通過外部動(dòng)態(tài)修改的參數(shù)既是配置。在運(yùn)行時(shí)動(dòng)態(tài)變更服務(wù)的行為,避免業(yè)務(wù)發(fā)生變更需要修改代碼或重啟服務(wù)等等。 什么是 duic? du...
摘要:配置中心在軟件開發(fā)中隨著業(yè)務(wù)的需要需求的變更程序的靈活我們時(shí)常需要在項(xiàng)目中設(shè)置各種開關(guān)或者配置項(xiàng)在往常時(shí)一般會(huì)采用配置文件的方式但是在這分布式集群時(shí)代采用傳統(tǒng)的配置管理方式顯得有點(diǎn)力不從心同時(shí)在我們的終端我們也時(shí)常需要各種配置在面對(duì)大量的終 ______ _ ______ |_ _ `. (_) . ___ | | | `...
摘要:配置中心在軟件開發(fā)中隨著業(yè)務(wù)的需要需求的變更程序的靈活我們時(shí)常需要在項(xiàng)目中設(shè)置各種開關(guān)或者配置項(xiàng)在往常時(shí)一般會(huì)采用配置文件的方式但是在這分布式集群時(shí)代采用傳統(tǒng)的配置管理方式顯得有點(diǎn)力不從心同時(shí)在我們的終端我們也時(shí)常需要各種配置在面對(duì)大量的終 ______ _ ______ |_ _ `. (_) . ___ | | | `...
閱讀 3229·2021-11-23 09:51
閱讀 1039·2021-08-05 09:58
閱讀 668·2019-08-29 16:05
閱讀 979·2019-08-28 18:17
閱讀 3036·2019-08-26 14:06
閱讀 2726·2019-08-26 12:20
閱讀 2161·2019-08-26 12:18
閱讀 3069·2019-08-26 11:56