apollo 專案配置中心開源框架部署

2021-09-28 17:24:57 字數 3435 閱讀 2307

專案之前的配置資訊全部都在 resources 目錄下,當然這裡我使用的是 spring boot 搭建的專案。使用 apollo 後,配置資訊全部轉移到 apollo 中管理,之後在 apollo 中修改配置後,只需要重啟伺服器就好了。

熱重新整理業務配置,修改 apollo 中的配置後,不需要重啟伺服器,直接再次訪問介面,即可獲取到配置中的資訊。這裡的熱重新整理肯定不是隨口一說或者整合一下 apollo 就可以重新整理,需要自己寫**,整合 apollo 的 client,監聽 apollo 的配置修改,然後進行資料重新整理。

apollo 的功能還是很多的,比如灰度發布之後也需要用到。

在 win 上一般情況下啟動時,會出現資料庫配置找不到的問題,解決方案如下

spring

datasource

:url

: jdbc:mysql://localhost:3306/apolloportaldb?characterencoding=utf8

username

: root

password

:123456

以上資料庫的配置,根據不同的模組進行修改即可,然後按照下面所說的啟動順序去啟動專案。

win 上修改 build.bat,mac 上修改 build.sh 檔案裡面的 mysql 資料庫配置資訊,包括 eurake 註冊中心的埠修改

執行 build 檔案

將 adminservice、configservice、portal 三個模組中 target 目錄下的 ***-github-***.zip 檔案解壓,並上傳至 centos 伺服器中

執行三個解壓包中的 script 目錄下的 start 指令碼

訪問路徑 ip:port

config service

admin service

portal service

引入apollo-client1.3.0 依賴

啟動類上加上註解@enableapolloconfigyml or properties 配置檔案中寫上訪問 apollo 的配置

依賴我使用的是 apollo-client 1.3.0 ,這個版本支援 yml 配置檔案的。

重點注意 apollo.meta 這個配置,配置指向的是 apollo 中 eurake 啟動的位址,而不是,不是,不是apollo管理介面的位址

編寫 dockerfile,預設 apollo 的原始碼是自帶 dockerfile

apollo-configservice 的 dockerfile 配置,這裡需要注意的是 unzip -d 會預設在指定的目錄下建立乙個解壓檔案包對應的名稱目錄,所以在賦予啟動指令碼命令及啟動時,需要注意路徑!

重啟命令:systemctl restart docker

# dockerfile for apollo-configservice

# 1. copy apollo-configservice-$-github.zip to current directory

# 2. build with: docker build -t apollo-configservice .

# 3. run with: docker run -p 8080:8080 -d -v /tmp/logs:/opt/logs --name apollo-configservice apollo-configservice

from openjdk:8-jre-alpine

maintainer lauleo

env version 1.5.0-snapshot

env server_port 8080

# datasource info

env ds_url ""

env ds_username ""

env ds_password ""

run echo "" > /etc/apk/repositories \

&& echo "" >> /etc/apk/repositories \

&& apk update upgrade \

&& apk add --no-cache procps unzip curl bash tzdata \

&& ln -sf /usr/share/zoneinfo/asia/shanghai /etc/localtime \

&& echo "asia/shanghai" > /etc/timezone

add apollo-configservice-$-github.zip /apollo-configservice/apollo-configservice-$-github.zip

run unzip /apollo-configservice/apollo-configservice-$-github.zip -d /apollo-configservice \

&& rm -rf /apollo-configservice/apollo-configservice-$-github.zip \

&& sed -i '$d' /apollo-configservice/apollo-configservice-$-github/scripts/startup.sh \

&& chmod +x /apollo-configservice/apollo-configservice-$-github/scripts/startup.sh \

&& echo "tail -f /dev/null" >> /apollo-configservice/apollo-configservice-$-github/scripts/startup.sh

expose $server_port

cmd ["/apollo-configservice/apollo-configservice-1.5.0-snapshot-github/scripts/startup.sh"]

構建指令碼命令

docker build -t apollo-configservice:v1 .

執行 apollo-configservice 映象

docker run -p 58080:8080 -d -v /root/apollo/apollo-configservice/logs:/opt/logs --name apollo-configservice apollo-configservice:v1

檢視容器執行日誌

docker logs -f -t apollo-configservice

ps:未完待續…

Apollo配置中心學習

為什麼說到apollo,一方面是入職新公司採用這一技術棧,另一方面是以前參與的專案是採用配置檔案放在固定目錄,不同環境修改固定檔案配置即可.但是這樣存在乙個弊端,修改配置引數 需要重啟業務服務,這樣對於業務量較小的團隊來講可以接受,但是對於像現在業務量較大的診所業務相比,一天都處在業務高峰期,只有夜...

Apollo配置中心搭建手冊

apollo部署架構圖 軟體依賴 mysql5.6以上資料庫,jdk1.8 2.執行命令 解壓安裝包 uizip apollo.zip 3.匯入資料庫 mysql u使用者 p密碼 mysql u使用者 p密碼 4.修改apollo埠 4.1 configservice埠設定 vim startup...

攜程開源配置管理中心Apollo簡介

由於程式日益複雜,相應的配置也越來越多,對配置的期望也會變高 比如實時性,分環境管理 因此我們需要乙個配置中心去管理我們的配置。apollo是攜程框架部門研發的開源配置管理中心,能夠集中管理應用在不同環境 不同集群的配置,配置修改後能夠實時的推送到應用端 由於程式日益複雜,相應的配置也越來越多,對配...