本篇文章為大家展示了SpringCloud-Apollo分布式配置中心的核心概念及核心功能介紹是怎樣的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供曲沃網(wǎng)站建設(shè)、曲沃做網(wǎng)站、曲沃網(wǎng)站設(shè)計、曲沃網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、曲沃企業(yè)網(wǎng)站模板建站服務(wù),十余年曲沃做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r推送到應(yīng)用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務(wù)配置管理場景。
服務(wù)端基于 Spring Boot 和 Spring Cloud 開發(fā),打包后可以直接運行,不需要額外安裝 Tomcat 等應(yīng)用容器。
Java 客戶端不依賴任何框架,能夠運行于所有 Java 運行時環(huán)境,同時對 Spring/Spring Boot 環(huán)境也有較好的支持。
Apollo 提供了一個統(tǒng)一界面,集中式管理不同環(huán)境(environment)、不同集群(cluster)、不同命名空間(namespace)的配置。
同一份代碼部署在不同的集群,可以有不同的配置,比如 zk 的地址等。通過命名空間(namespace)可以很方便地支持多個不同應(yīng)用共享同一份配置,同時還允許應(yīng)用對共享的配置進(jìn)行覆蓋。
用戶在 Apollo 修改完配置并發(fā)布后,客戶端能實時(1s)接收到最新的配置,并通知到應(yīng)用程序。
所有的配置發(fā)布都有版本概念,從而可以方便地支持配置的回滾。
支持配置的灰度發(fā)布,比如點擊發(fā)布后,只對部分應(yīng)用實例生效,等觀察一段時間,確定沒問題后再推給所有應(yīng)用實例。
應(yīng)用和配置的管理都有完善的權(quán)限管理機制,對配置的管理還分為編輯和發(fā)布兩個環(huán)節(jié),從而減少人為的錯誤。
所有的操作都有審計日志,方便追蹤問題。
可以方便地看到配置被哪些實例使用。
提供了 Java 和 .Net 的原生客戶端,方便應(yīng)用集成。支持 Spring Placeholder、Annotation 和 Spring Boot 的 ConfigurationProperties,方便應(yīng)用使用(需要 Spring 3.1.1+)。
同時提供了 Http 接口,非 Java 和 .Net 應(yīng)用也可以方便地使用。
Apollo 自身提供了比較完善的統(tǒng)一配置管理界面,支持多環(huán)境、多數(shù)據(jù)中心配置管理、權(quán)限、流程治理等特性。不過 Apollo 出于通用性考慮,對配置的修改不會做過多限制,只要符合基本的格式就能夠保存。
在我們的調(diào)研中發(fā)現(xiàn),對于有些使用方,它們的配置可能會有比較復(fù)雜的格式,如 xml、json,需要對格式做校驗。還有一些使用方如 DAL,不僅有特定的格式,而且針對輸入的值也需要進(jìn)行校驗后方可保存,如檢查數(shù)據(jù)庫、用戶名和密碼是否匹配。
對于這類應(yīng)用,Apollo 支持應(yīng)用方通過開放接口在 Apollo 進(jìn)行配置的修改和發(fā)布,并且具備完善的授權(quán)和權(quán)限控制。
配置中心作為基礎(chǔ)服務(wù),對可用性要求非常高,這就需要 Apollo 對外部依賴盡可能地少。
目前唯一的外部依賴是 MySQL,所以部署非常簡單,只要安裝好 Java 和 MySQL 就可以讓 Apollo 跑起來。
Apollo 還提供了打包腳本,一鍵就可以生成所有需要的安裝包,并且支持自定義運行時的參數(shù)。
應(yīng)用就是我們的項目,Apollo 客戶端在運行時需要知道應(yīng)用的標(biāo)識,從而可以根據(jù)這個標(biāo)識去配置中心獲取對應(yīng)的配置。應(yīng)用的標(biāo)識用 APPid 來指定,指定 APPid 的方式有多種,Spring Boot 項目中建議直接配置在 application.properties 中,跟著項目走。
環(huán)境就是常見的開發(fā)、測試、生產(chǎn)等,不同的環(huán)境對應(yīng)的配置內(nèi)容不一樣。Apollo 客戶端在運行時除了需要知道項目當(dāng)前的身份標(biāo)識,還需要知道當(dāng)前項目對應(yīng)的環(huán)境,從而可以根據(jù)環(huán)境去配置中心獲取對應(yīng)的配置。
指定項目當(dāng)前環(huán)境的方式有多種,可以通過 Java System Property 或者配置文件來指定。
目前支持的環(huán)境有 Local(本地環(huán)境,加載本地配置)、DEV(開發(fā)環(huán)境)、FAT(測試環(huán)境)、UAT(集成環(huán)境)、PRO(生產(chǎn)環(huán)境)。
在多機房的環(huán)境下,針對不同的機房,我們可以劃分出不同的集群,集群可以擁有不同的配置。指定項目對應(yīng)集群的方式有多種,可以通過 Java System Property 或者配置文件來指定。
命名空間可以用來對配置做分類,不同類型的配置存放在不同的命名空間中,如數(shù)據(jù)庫配置文件、消息隊列配置、業(yè)務(wù)相關(guān)的配置等。命名空間還有一個公共的特性,那就是讓多個項目共用同一份配置,比如 redis 集群配置。
通過權(quán)限控制可以防止配置被不相干的人誤操作。對于開發(fā)人員,可以只分配測試環(huán)境的修改權(quán)限和發(fā)布權(quán)限,只有負(fù)責(zé)人才能有正式環(huán)境的權(quán)限。
上述內(nèi)容就是SpringCloud-Apollo分布式配置中心的核心概念及核心功能介紹是怎樣的,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁題目:SpringCloud-Apollo分布式配置中心的核心概念及核心功能介紹是怎樣的
網(wǎng)站URL:http://aaarwkj.com/article0/ihheoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、App開發(fā)、品牌網(wǎng)站制作、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)