apollo啟動後,config/admin service會自動註冊到eureka服務註冊中心,並定期傳送保活心跳。
apollo client和portal管理端通過配置的meta server的網域名稱位址經由software load balancer(軟體負載均衡器)進行負載均衡後分配到某乙個meta server
meta server從eureka獲取config service和admin service的服務資訊,相當於是乙個eureka client
meta server獲取config service和admin service(ip+port)失敗後會進行重試
獲取到正確的config service和admin service的服務資訊後,apollo client通過config service為應用提供配置獲取、實時更新等功能;apollo portal管理端通過admin service提供配置新增、修改、發布等功能
這個很好理解,就是實際使用配置的應用,apollo客戶端在執行時需要知道當前應用是誰,從而可以去獲取對應的配置
配置對應的環境,apollo客戶端在執行時需要知道當前應用處於哪個環境,從而可以去獲取應用的配置
關鍵字:env
乙個應用下不同例項的分組,比如典型的可以按照資料中心分,把上海機房的應用例項分為乙個集群,把北京機房的應用例項分為另乙個集群。
關鍵字:cluster
乙個應用下不同配置的分組,可以簡單地把namespace模擬為檔案,不同型別的配置存放在不同的檔案中,如資料庫配置檔案,rpc配置檔案,應用自身的配置檔案等
關鍵字:namespaces
它們的關係如下圖所示:
然後在該namespace中發布乙個公共配置:
獲取配置:
@testpublic void get()
Apollo簡介及工作原理
1 使用者在配置中心對配置進行修改並發布 2 配置中心通知apollo客戶端有配置更新 3 apollo客戶端從配置中心拉取最新的配置 更新本地配置並通知到應用 上圖簡要描述了apollo的總體設計,我們可以從下往上看 1 config service提供配置的讀取 推送等功能,服務物件是apoll...
impalad的核心工作原理
連線到 impalad程序節點後才能執行查詢操作,使用 impala shell連線到 impalad程序節點時可以配置相關的命令列選項指定連線資訊。連線到任何乙個執行了 impalad程序的 datanode,接受了連線的節點將作為協調者節點執行查詢任務。為了簡單,可以總是連線到同乙個 impal...
WebSocket概念及工作原理
一 websocket是什麼?websocket是html5新增的協議,它的目的是在瀏覽器和伺服器之間建立乙個不受限的雙向通訊的通道,比如說,伺服器可以在任意時刻傳送訊息給瀏覽器。websocket同樣是html5規範的組成部分之一,用一句話概括就是 客戶端向websocket伺服器通知 notif...