Apollo配置中心搭建過程
阿新 • • 發佈:2020-08-24
Apollo搭建
官網GitHub地址:
原始碼下載地址:
選擇版本進行下載: https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-adminservice-1.7.1-github.zip https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-configservice-1.7.1-github.zip https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-portal-1.7.1-github.zip
主要元件說明:
adminservice、configservice、portal等
configservice
提供配置獲取介面
提供配置更新推送介面(基於Http long polling)
服務端使用 Spring DeferredResult實現非同步化,從而大大增加長連線數量
目前使用的tomcat embed預設配置是最多10000個連線
介面服務物件為Apollo客戶端
adminservice
提供配置管理介面
提供配置修改、釋出等介面
介面服務物件為Portal
Portal
提供Web介面供使用者管理配置 通過Meta Server獲取Admin Service服務列表(IP+Port),通過IP+Port訪問服務 在Portal側做load balance、錯誤重試
安裝
確保主機的JAVA、maven環境
配置MySQL資料庫
# 下載官網的sql指令碼
wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/sql/apolloconfigdb.sql
wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/sql/apolloportaldb.sql
[root@localhost]# mysql -uroot -p Enter password: mysql> source apolloconfigdb.sql Query OK, 0 rows affected (0.00 sec) ......................... mysql> source apolloportaldb.sql Query OK, 0 rows affected (0.00 sec) ......................... mysql> flush privileges; ok mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | ApolloConfigDB | | ApolloPortalDB | | mysql | | performance_schema | | sonar | | sys | +--------------------+ 7 rows in set (0.00 sec) mysql> quit Bye
解壓軟體包
unzip apollo-adminservice-1.7.1-github.zip
unzip apollo-configservice-1.7.1-github.zip
unzip apollo-portal-1.7.1-github.zip
修改各元件的application.properties
注:在configservice元件中application.properties配置的資料庫連線地址中的庫為ApolloConfigDB,否則服務報錯。
注:在adminservice元件中配置的資料庫連線地址中的庫為ApolloConfigDB,否則服務報錯。
注:在protal中配置的資料庫連線地址中的庫必須為ApolloPortalDB,否則服務報錯。
vim 解壓後文件夾/config/application-github.properties
# DataSource
spring.datasource.url = jdbc:mysql://mysql主機IP:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123
修改protal元件的apollo-env.properties
local.meta=http://localhost:8080
dev.meta=http://localhost:8080 #配置一個環境
fat.meta=http://fill-in-fat-meta-server:8080
uat.meta=http://fill-in-uat-meta-server:8080
lpt.meta=${lpt_meta}
pro.meta=http://fill-in-pro-meta-server:8080
啟動&停止
按順序執行各元件資料夾下的config/scripts下的啟動、停止指令碼即可start.sh/shutdown.sh
configservice-->adminservice-->protal
[root@cka-m2 apollo]# ./config/scripts/startup.sh
Mon Aug 24 03:51:59 EDT 2020 ==== Starting ====
Started [6567]
Waiting for server startup.....
Mon Aug 24 03:52:25 EDT 2020 Server started in 25 seconds!
[root@cka-m2 apollo]# ./admin/scripts/startup.sh
Mon Aug 24 03:53:26 EDT 2020 ==== Starting ====
Already running [6831]
Waiting for server startup.....
Mon Aug 24 03:53:52 EDT 2020 Server started in 25 seconds!
[root@cka-m2 apollo]# ./portal/scripts/startup.sh
Mon Aug 24 03:54:03 EDT 2020 ==== Starting ====
Started [7086]
Waiting for server startup......
Mon Aug 24 03:54:34 EDT 2020 Server started in 30 seconds!
預設埠:
configservice --> 8080
adminservice --> 8090
protal --> 8070
[root@cka-m2 apollo]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::8080 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 :::8090 :::*
LISTEN 0 128 :::8070 :::*
LISTEN 0 80 :::3306 :::*