1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Apollo(阿波羅)開源分布式配置中心

        聯(lián)合創(chuàng)作 · 2023-10-01 07:02

        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)境也有較好的支持。

        .NET 客戶端不依賴任何框架,能夠運行于所有 .NET 運行時環(huán)境。

        更多產(chǎn)品介紹參見 Apollo 配置中心介紹

        本地快速部署請參見 Quick Start。

        二、配置界面

        三、功能介紹

        • 統(tǒng)一管理不同環(huán)境、不同集群的配置

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

          • 同一份代碼部署在不同的集群,可以有不同的配置,比如zk的地址等

          • 通過命名空間(namespace)可以很方便的支持多個不同應(yīng)用共享同一份配置,同時還允許應(yīng)用對共享的配置進行覆蓋

        • 配置修改實時生效(熱發(fā)布)

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

        • 版本發(fā)布管理

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

        • 灰度發(fā)布

          • 支持配置的灰度發(fā)布,比如點了發(fā)布后,只對部分應(yīng)用實例生效,等觀察一段時間沒問題后再推給所有應(yīng)用實例。

        • 權(quán)限管理、發(fā)布審核、操作審計

          • 應(yīng)用和配置的管理都有完善的權(quán)限管理機制,對配置的管理還分為了編輯和發(fā)布兩個環(huán)節(jié),從而減少人為的錯誤。

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

        • 客戶端配置信息監(jiān)控

          • 可以方便的看到配置在被哪些實例使用

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

          • 提供了 Java 和 .Net 的原生客戶端,方便應(yīng)用集成

          • 支持 Spring Placeholder 和 Annotation,方便應(yīng)用使用(需要 Spring 3.1.1+)

          • 同時提供了 Http 接口,非 Java 和 .Net 應(yīng)用也可以方便的使用

        • 提供開放平臺 API

          • Apollo 自身提供了比較完善的統(tǒng)一配置管理界面,支持多環(huán)境、多數(shù)據(jù)中心配置管理、權(quán)限、流程治理等特性。

          • 不過 Apollo 出于通用性考慮,對配置的修改不會做過多限制,只要符合基本的格式就能夠保存。

          • 在我們的調(diào)研中發(fā)現(xiàn),對于有些使用方,它們的配置可能會有比較復(fù)雜的格式,如 xml, json,需要對格式做校驗。

          • 還有一些使用方如 DAL,不僅有特定的格式,而且對輸入的值也需要進行校驗后方可保存,如檢查數(shù)據(jù)庫、用戶名和密碼是否匹配。

          • 對于這類應(yīng)用,Apollo 支持應(yīng)用方通過開放接口在 Apollo 進行配置的修改和發(fā)布,并且具備完善的授權(quán)和權(quán)限控制

        • 部署簡單

          • 配置中心作為基礎(chǔ)服務(wù),可用性要求非常高,這就要求 Apollo 對外部依賴盡可能地少

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

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

        四、使用文檔

        1. Apollo使用指南

        2. Java客戶端使用指南

        3. .Net客戶端使用指南

        4. 其它語言客戶端接入指南

        5. Apollo開放平臺接入指南

        五、設(shè)計

        六、部署

        七、發(fā)布歷史

        八、FAQ

        九、結(jié)語

        目前 Apollo 在攜程生產(chǎn)環(huán)境穩(wěn)定服務(wù)著 10 萬+實例的配置需求,同時也有超過一百家外部公司投入生產(chǎn)使用的成功案例。

        大家如果對配置需求有痛點的話,建議可以關(guān)注一下 Apollo 配置中心,我們在 Github 上有非常豐富的文檔介紹,也有著一個非?;钴S的技術(shù)支持群。

        另外,Apollo 從項目之初就是作為一個開源項目開發(fā)的,所以也非常希望能有更多的力量投入進來,歡迎大家發(fā)起 Pull Request!

        瀏覽 32
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产91网| 欧美在线天堂 | 亚洲大屄干欧美大屄 | 久久一性爱 | 小雪好紧我太爽了再快点更新时间 | 吸咬奶头狂揉60分钟视频 | 欧美熟女视频一区二区视频 | 60分钟床上色三级 | 影音先锋成人在线视频 | 大香蕉久久一本网站 |