摘要:配置中心在軟件開發中隨著業務的需要需求的變更程序的靈活我們時常需要在項目中設置各種開關或者配置項在往常時一般會采用配置文件的方式但是在這分布式集群時代采用傳統的配置管理方式顯得有點力不從心同時在我們的終端我們也時常需要各種配置在面對大量的終
______ _ ______ |_ _ `. (_) ." ___ | | | `. __ _ __ / ." \_| | | | |[ | | | [ || | _| |_." / | \_/ |, | | `.___." |______." ".__."_/[___]`.____ ."duic 配置中心
在軟件開發中隨著業務的需要, 需求的變更, 程序的靈活我們時常需要在項目中設置各種開關或者配置項. 在往常時一般會采用配置文件的方式, 但是在這分布式集群時代采用傳統的配置管理方式顯得有點力不從心. 同時在我們的 app/web 終端我們也時常需要各種配置, 在面對大量的終端配置獲取請求我們的配置中心需要高性能, 高穩定性.
duic 的誕生并不僅僅只是為了解決服務器應用的配置
簡介duic 是采用 spring-webflux 開發, 通過 RESTful 方式拉取配置, 支持配置合并, 內置 web 控制臺修改配置, 支持配置用戶權限設置, 支持配置訪問 IP 限制, 支持 token 限制, 支持多應用多環境變量, 支持 docker, 支持集群
特性
集中配置管理, 多應用多環境配置
在 web 控制臺中你可以創建多個配置, 相同應用不同環境的配置可以使用(profile)區分, 同一個應用下多個(profile)配置可以合并 https://duic.zhudy.io/index.html
配置數據類型/數據格式
duic 采用 yaml 文件格式管理配置, 天生支持數據類型及數據格式
HTTP 方式拉取配置
duic 采用 HTTP 的方式拉取配置, 所以你可以在任何應用中使用 duic 配置管理
配置狀態檢查
支持配置狀態檢查, 如果配置發生變動該狀態也會相應變化, 使用方可根據狀態的變化重載配置
GET {base_uri}/apps/states/{name}/{profile}
多配置合并
相同應用(name)下的多個配置(profile)可以合并配置, 相同 key 的配置將以深度合并的方式返回
按需取獲取配置
你有時可能需要獲取某個 key 的配置而不是整個 profile 的配置
GET {base_uri}/apps/{name}/{profile}/{key}
key 支持按 . 分隔, 父 key 可以獲取子項的所有配置
獲取 k1 項的配置
request
$ curl https://duic.zhudy.io/api/v1/apps/sample/first/k1
response{ "string":"samples first k1 string", "int":11, "array":[ 1, 2, 3 ], "multiple_lines":"sample first multiple lines" }獲取 k1.string 項的配置
request
$ curl https://duic.zhudy.io/api/v1/apps/sample/first/k1.string
response{ "value":"samples first k1 string" }
完美支持 spring-boot
duic 不僅可以管理你的業務配置, 同時還可以管理 spring-boot 自身的任何配置, 你可以像在 application.yaml 文件中編輯配置一樣的編輯它, 同時我們還提供了 duic-spring-cloud-config-client, 該庫支持 @ConfigurationProperties @Value 注解, 同時還支持配置熱加載
配置權限管理
支持配置權限管理, 用戶只可以修改自身擁有權限的配置
配置支持 IP 訪問限制
每個 profile 的配置都可以設置 IP 訪問控制, 不在訪問限制內的 IP 將無法獲取配置信息
配置支持 TOKEN 校驗
訪問有 TOKEN 校驗的配置必須在請求中帶上 TOKEN, TOKEN 校驗失敗將無法獲取配置信息
支持 docker 部署
https://hub.docker.com/r/zhud...
部署簡單
duic 部署只依賴于 mongodb, 集群部署也只需要直接啟動多個實例即可, 不需要其它任何中間件或者服務
高性能
duic 是采用 spring-webflux 開發, 能最大化利用機器的硬件資源, 同時 duic 是直接將所有可用的配置直接加載在內存中, 在拉取配置時 直接從內存中返回配置信息, 對于數據庫沒有任何壓力
duic openapi-3.0 接口文檔
duic-java-client
java 版本客戶端程序
支持 java
支持 spring
duic-spring-cloud-config-client
spring-boot 配置客戶端程序
duic-examples 示例程序
部署服務配置 application.yml
server: port: 7777 spring: jackson: default_property_inclusion: non_default date_format: yyyy-MM-dd"T"HH:mm:ss joda_date_time_format: yyyy-MM-dd"T"HH:mm:ss property_naming_strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES data: mongodb: uri: mongodb://127.0.0.1:27017/duic duic: root_email: kevinz@weghst.com root_password: 123456 jwt: secret: U2FsdGVkX1/jO0KlWumac4yDM8rOgWPkaV0KrSHDynWOP6n8FMJB9uSc8EW/qM+VagrMBAXGpyw= expires_in: 180
應用服務端口
MongoDB 連接地址
默認用戶登錄郵箱
默認用戶登錄密碼
JWT HMAC256 簽名字符串
JWT 過期時間(單位:分鐘)
docker-compose 部署在 docker-compose 配置中已經集成 mongodb, nginx, let’s encrypt, docker-gen 服務發現
啟動步驟git clone
$ git clone https://github.com/zhudyos/duic-docker-compose.git
進入文件夾
cd duic-docker-compose
為 start.sh 授權
$ chmod +x start.sh
啟動
$ ./start.sh
安裝 MongoDB
服務配置
1. 創建 **config** 文件夾 2. 在 **config** 文件夾中創建配置文件 **application.yml** 3. **application.yml** 配置文件將 **spring.data.mongodb.uri** 連接地址修改為安裝服務的 MongoDB 連接地址
啟動容器
$ docker run -d -p 7777:7777 -v $(pwd)/config:/app/config zhudyos/duic
將 application.yml 配置文件放置在 config 目錄中并掛載到容器的 /app/config 目錄中, duic 則會使用指定的配置GitHub Source Repository
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69036.html
摘要:配置中心在軟件開發中隨著業務的需要需求的變更程序的靈活我們時常需要在項目中設置各種開關或者配置項在往常時一般會采用配置文件的方式但是在這分布式集群時代采用傳統的配置管理方式顯得有點力不從心同時在我們的終端我們也時常需要各種配置在面對大量的終 ______ _ ______ |_ _ `. (_) . ___ | | | `...
摘要:什么是是配置管理中心,將配置統一管理提供標準的配置格式及編輯方式。如上圖支持任何應用,任何語言的配置管理,,,等,同時采用語法作用配置文件格式,支持數據類型及結構化配置。前提創建數據庫配置數據庫連接將文件與文件放置在同一目錄中。 什么是配置? 服務運行時能夠通過外部動態修改的參數既是配置。在運行時動態變更服務的行為,避免業務發生變更需要修改代碼或重啟服務等等。 什么是 duic? du...
摘要:什么是是配置管理中心,將配置統一管理提供標準的配置格式及編輯方式。如上圖支持任何應用,任何語言的配置管理,,,等,同時采用語法作用配置文件格式,支持數據類型及結構化配置。前提創建數據庫配置數據庫連接將文件與文件放置在同一目錄中。 什么是配置? 服務運行時能夠通過外部動態修改的參數既是配置。在運行時動態變更服務的行為,避免業務發生變更需要修改代碼或重啟服務等等。 什么是 duic? du...
摘要:什么是是配置管理中心,將配置統一管理提供標準的配置格式及編輯方式。如上圖支持任何應用,任何語言的配置管理,,,等,同時采用語法作用配置文件格式,支持數據類型及結構化配置。前提創建數據庫配置數據庫連接將文件與文件放置在同一目錄中。 什么是配置? 服務運行時能夠通過外部動態修改的參數既是配置。在運行時動態變更服務的行為,避免業務發生變更需要修改代碼或重啟服務等等。 什么是 duic? du...
閱讀 1649·2021-11-16 11:44
閱讀 2393·2021-10-11 11:07
閱讀 4036·2021-10-09 09:41
閱讀 663·2021-09-22 15:52
閱讀 3187·2021-09-09 09:33
閱讀 2701·2019-08-30 15:55
閱讀 2284·2019-08-30 15:55
閱讀 837·2019-08-30 15:55