亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud-Apollo分布式配置中心的核心概念及核心功能介紹是怎樣的

發布時間:2021-09-29 14:21:52 來源:億速云 閱讀:143 作者:柒染 欄目:編程語言

本篇文章為大家展示了SpringCloud-Apollo分布式配置中心的核心概念及核心功能介紹是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Apollo(阿波羅)是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,并且具備規范的權限、流程治理等特性,適用于微服務配置管理場景。

服務端基于 Spring Boot 和 Spring Cloud 開發,打包后可以直接運行,不需要額外安裝 Tomcat 等應用容器。

Java 客戶端不依賴任何框架,能夠運行于所有 Java 運行時環境,同時對 Spring/Spring Boot 環境也有較好的支持。

Apollo 的核心功能點

1. 統一管理不同環境、不同集群的配置

Apollo 提供了一個統一界面,集中式管理不同環境(environment)、不同集群(cluster)、不同命名空間(namespace)的配置。

同一份代碼部署在不同的集群,可以有不同的配置,比如 zk 的地址等。通過命名空間(namespace)可以很方便地支持多個不同應用共享同一份配置,同時還允許應用對共享的配置進行覆蓋。

2. 配置修改實時生效(熱發布)

用戶在 Apollo 修改完配置并發布后,客戶端能實時(1s)接收到最新的配置,并通知到應用程序。

3. 版本發布管理

所有的配置發布都有版本概念,從而可以方便地支持配置的回滾。

4. 灰度發布

支持配置的灰度發布,比如點擊發布后,只對部分應用實例生效,等觀察一段時間,確定沒問題后再推給所有應用實例。

5. 權限管理、發布審核、操作審計

應用和配置的管理都有完善的權限管理機制,對配置的管理還分為編輯和發布兩個環節,從而減少人為的錯誤。

所有的操作都有審計日志,方便追蹤問題。

6. 客戶端配置信息監控

可以方便地看到配置被哪些實例使用。

7. 提供 Java 和 .Net 原生客戶端

提供了 Java 和 .Net 的原生客戶端,方便應用集成。支持 Spring Placeholder、Annotation 和 Spring Boot 的 ConfigurationProperties,方便應用使用(需要 Spring 3.1.1+)。

同時提供了 Http 接口,非 Java 和 .Net 應用也可以方便地使用。

8. 提供開放平臺 API

Apollo 自身提供了比較完善的統一配置管理界面,支持多環境、多數據中心配置管理、權限、流程治理等特性。不過 Apollo 出于通用性考慮,對配置的修改不會做過多限制,只要符合基本的格式就能夠保存。

在我們的調研中發現,對于有些使用方,它們的配置可能會有比較復雜的格式,如 xml、json,需要對格式做校驗。還有一些使用方如 DAL,不僅有特定的格式,而且針對輸入的值也需要進行校驗后方可保存,如檢查數據庫、用戶名和密碼是否匹配。

對于這類應用,Apollo 支持應用方通過開放接口在 Apollo 進行配置的修改和發布,并且具備完善的授權和權限控制。

9. 部署簡單

配置中心作為基礎服務,對可用性要求非常高,這就需要 Apollo 對外部依賴盡可能地少。

目前唯一的外部依賴是 MySQL,所以部署非常簡單,只要安裝好 Java 和 MySQL 就可以讓 Apollo 跑起來。

Apollo 還提供了打包腳本,一鍵就可以生成所有需要的安裝包,并且支持自定義運行時的參數。

Apollo 核心概念

1. 應用

應用就是我們的項目,Apollo 客戶端在運行時需要知道應用的標識,從而可以根據這個標識去配置中心獲取對應的配置。應用的標識用 APPid 來指定,指定 APPid 的方式有多種,Spring Boot 項目中建議直接配置在 application.properties 中,跟著項目走。

2. 環境

環境就是常見的開發、測試、生產等,不同的環境對應的配置內容不一樣。Apollo 客戶端在運行時除了需要知道項目當前的身份標識,還需要知道當前項目對應的環境,從而可以根據環境去配置中心獲取對應的配置。

指定項目當前環境的方式有多種,可以通過 Java System Property 或者配置文件來指定。

目前支持的環境有 Local(本地環境,加載本地配置)、DEV(開發環境)、FAT(測試環境)、UAT(集成環境)、PRO(生產環境)。

3. 集群

在多機房的環境下,針對不同的機房,我們可以劃分出不同的集群,集群可以擁有不同的配置。指定項目對應集群的方式有多種,可以通過 Java System Property 或者配置文件來指定。

4. 命名空間

命名空間可以用來對配置做分類,不同類型的配置存放在不同的命名空間中,如數據庫配置文件、消息隊列配置、業務相關的配置等。命名空間還有一個公共的特性,那就是讓多個項目共用同一份配置,比如 Redis 集群配置。

5. 權限控制

通過權限控制可以防止配置被不相干的人誤操作。對于開發人員,可以只分配測試環境的修改權限和發布權限,只有負責人才能有正式環境的權限。

上述內容就是SpringCloud-Apollo分布式配置中心的核心概念及核心功能介紹是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳泉市| 时尚| 织金县| 三河市| 乐安县| 横峰县| 鄂尔多斯市| 嵩明县| 沛县| 六枝特区| 平谷区| 泸溪县| 康乐县| 石狮市| 钦州市| 阿合奇县| 宝应县| 博白县| 会泽县| 拉孜县| 温宿县| 阿合奇县| 延长县| 彰化县| 锦屏县| 威海市| 福清市| 冀州市| 南川市| 项城市| 平谷区| 新丰县| 临猗县| 稻城县| 西华县| 和林格尔县| 江城| 安庆市| 略阳县| 高邑县| 永城市|