新一代開源配置中心-Apollo
小貼士
大家好,我是Apollo的主要作者之一 張樂,目前就職於 螞蟻中介軟體團隊,我們團隊現在大力發展開源、金融雲等業務。急需對技術熱愛的小夥伴加入,無限HC~
有興趣的小夥伴可以聯絡我哦~
github 主頁:https://github.com/lepdou
郵箱地址:lepdou@126.com
Introduction
Apollo(Github主頁)是攜程框架部門研發的配置管理平臺,能夠集中化管理應用不同環境、不同叢集的配置,配置修改後能夠實時推送到應用端,並且具備規範的許可權、流程治理等特性。
服務端基於Spring Boot和Spring Cloud開發,打包後可以直接執行,不需要額外安裝Tomcat等應用容器。
Java客戶端不依賴任何框架,能夠執行於所有Java執行時環境,同時對Spring/Spring Boot環境也有額外支援。
.Net客戶端不依賴任何框架,能夠執行於所有.Net執行時環境。
更多產品介紹參見Apollo配置中心介紹
本地快速部署請參見Quick Start
Screenshots
Features
-
統一管理不同環境、不同叢集的配置
- Apollo提供了一個統一介面集中式管理不同環境(environment)、不同叢集(cluster)、不同名稱空間(namespace)的配置。
- 同一份程式碼部署在不同的叢集,可以有不同的配置,比如zk的地址等
- 通過名稱空間(namespace)可以很方便的支援多個不同應用共享同一份配置,同時還允許應用對共享的配置進行覆蓋
-
配置修改實時生效(熱釋出)
- 使用者在Apollo修改完配置併發布後,客戶端能實時(1秒)接收到最新的配置,並通知到應用程式。
-
版本釋出管理
- 所有的配置釋出都有版本概念,從而可以方便的支援配置的回滾。
-
灰度釋出
- 支援配置的灰度釋出,比如點了釋出後,只對部分應用例項生效,等觀察一段時間沒問題後再推給所有應用例項。
-
許可權管理、釋出稽核、操作審計
- 應用和配置的管理都有完善的許可權管理機制,對配置的管理還分為了編輯和釋出兩個環節,從而減少人為的錯誤。
- 所有的操作都有審計日誌,可以方便的追蹤問題。
-
客戶端配置資訊監控
- 可以方便的看到配置在被哪些例項使用
-
提供Java和.Net原生客戶端
- 提供了Java和.Net的原生客戶端,方便應用整合
- 支援Spring Placeholder,Annotation和Spring Boot的ConfigurationProperties,方便應用使用(需要Spring 3.1.1+)
- 同時提供了Http介面,非Java和.Net應用也可以方便的使用
-
提供開放平臺API
- Apollo自身提供了比較完善的統一配置管理介面,支援多環境、多資料中心配置管理、許可權、流程治理等特性。
- 不過Apollo出於通用性考慮,對配置的修改不會做過多限制,只要符合基本的格式就能夠儲存。
- 在我們的調研中發現,對於有些使用方,它們的配置可能會有比較複雜的格式,如xml, json,需要對格式做校驗。
- 還有一些使用方如DAL,不僅有特定的格式,而且對輸入的值也需要進行校驗後方可儲存,如檢查資料庫、使用者名稱和密碼是否匹配。
- 對於這類應用,Apollo支援應用方通過開放介面在Apollo進行配置的修改和釋出,並且具備完善的授權和許可權控制
-
部署簡單
- 配置中心作為基礎服務,可用性要求非常高,這就要求Apollo對外部依賴儘可能地少
- 目前唯一的外部依賴是MySQL,所以部署非常簡單,只要安裝好Java和MySQL就可以讓Apollo跑起來
- Apollo還提供了打包指令碼,一鍵就可以生成所有需要的安裝包,並且支援自定義執行時引數
Usage
Design
Development
- Apollo開發指南
-
Code Styles
Deployment
FAQ
Support
Contribution
- Source Code: https://github.com/ctripcorp/apollo
- Issue Tracker: https://github.com/ctripcorp/apollo/issues
License
The project is licensed under the Apache 2 license.
相關文章
- Docker部署Apollo配置中心Docker
- Apollo 配置中心詳細教程
- SpringBoot 整合 Apollo 配置中心Spring Boot
- Apollo 分散式配置中心(補充)分散式
- SpringBoot整合Apollo配置中心Spring Boot
- Linux安裝Apollo配置中心Linux
- 使用Spring Boot整合Apollo配置中心Spring Boot
- Apollo配置中心-配置熱釋出如何實現
- Dubbo使用Apollo作為配置中心實戰
- Springboot 整合Apollo配置中心【記錄】Spring Boot
- 聊聊如何將資料同步到apollo配置中心
- YoyoGo v1.7.2 釋出, 支援 Nacos & Apollo 配置中心Go
- ABP微服務系列學習-對接Apollo配置中心微服務
- 攜程 Apollo 配置中心傳統 .NET 專案整合實踐
- 攜程開源分散式配置系統Apollo服務端是如何實時更新配置的?分散式服務端
- 推薦一個.Ner Core開發的配置中心開源專案
- 攜程開源專案——Apollo的設計與實現
- Activiti - 新一代的開源 BPM 引擎
- K8S(11)配置中心實戰-單環境交付apollo三元件K8S元件
- rnacos——用rust重新實現的nacos開源配置、註冊中心服務Rust
- 「Java分享客棧」Nacos配置中心稱王稱霸,我Apollo一生也不弱於人!Java
- 登峰造極之小帕EPV再顯身手,安全實現apollo配置中心自動改密!
- Apollo啟動配置排查,超時時間的配置
- HPE推出新一代Apollo伺服器,瞄準企業AI伺服器AI
- 用開源軟體管理資料中心(轉)
- 【Apollo】(2)--- Apollo架構設計架構
- 微服務框架/配置中心/註冊中心微服務框架
- .NET Framework開源詳細配置Framework
- 新一代 CI 持續整合工具 flow.ci 正式開源
- 分散式 配置中心分散式
- Nacos配置中心原理
- springcloud-註冊中心和配置中心SpringGCCloud
- 新一代開源時序資料庫TDengine有哪些優勢?資料庫
- 歡迎 Llama 3:Meta 的新一代開源大語言模型模型
- 使用Viper讀取Nacos配置(開源)
- 螞蟻金服開源服務註冊中心 SOFARegistry | SOFA 開源一週年獻禮
- SpringCloud Nacos 配置中心SpringGCCloud
- 分散式之配置中心分散式