日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows部署Apollo

發布時間:2024/10/12 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows部署Apollo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

配置中心伴隨著這幾年分布式系統演變和微服務架構的興起,已經成為必不可少的需求之一。試下一下如果哪天公司的所有應用服務,從公司服務器遷移到云服務,成千上萬的配置,修改起來是多么耗時費勁的事(我們公司就是……)。

配置中心主要有以下特點:

  • 配置動態化
  • 管理集中化

修改配置不需要重新發布配置文件,而且可以復用,同一個的配置只需要修改一次,省時省力。通過后臺統一管理,修改、查看,部分產品還支持配置版本管理。

Why Apollo

  • 國產
  • 開源
  • 功能強大

首先是支持國產,同時在遇到問題也可以良好的和國人交流溝通。其次功能很全,滿足公司的所有需要,不需要二次開發。

優勢

阿波羅的功能非常強大,幾乎滿足一般的分布式系統的使用要求,重點主要如下:

  • 配置多維度
    • application (應用)
    • environment (環境)
    • cluster (集群)
    • namespace (命名空間)
  • 版本發布管理
    • 歷史查看
    • 版本回滾
  • 后臺權限管理
    • 發布審核
    • 操作審計
  • 更新機制
  • 客戶端監控
    • 客戶端實例查看
    • 配置實用實例查看

缺點

強大的功能,必然伴隨少許缺點:

  • 一定的學習成本
  • 部署繁雜

官方文檔說明部署簡單,我認為不然,依賴jdk1.8,(我試了1.9部署Quick Start版本失敗了),mysql,腳本需要自己導入,在windows平臺還需要gitbash。

總的來說利大于弊,還是值得去使用的。

準備

  • jdk18+

  • gitbash

  • mysql 5.7.11+

  • Quick Start版本的阿波羅

部署

注意jdk的環境變量配置

導入腳本

在剛下載apollo-build-scripts里sql目錄下的兩個腳本導入到mysql里

apolloconfigdb.sql

apolloportaldb

修改項目數據庫配置

編輯demo.sh,在apollo-build-scripts文件夾找到下面的配置項,修改為對應的數據庫信息

# apollo config db info apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 apollo_config_db_username=root apollo_config_db_password=123456789# apollo portal db info apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 apollo_portal_db_username=root apollo_portal_db_password=123456789

啟動

?

啟動

切換到剛下載的apollo-build-scripts目錄下。 注意是git方式的執行,跟cmd不一樣的

?/c/apollo-build-scripts-master/demo.sh start

?

==== starting service ==== Service logging file is ./service/apollo-service.log Started [10768] Waiting for config service startup....... Config service started. You may visit http://localhost:8080 for service status now! Waiting for admin service startup.... Admin service started ==== starting portal ==== Portal logging file is ./portal/apollo-portal.log Started [10846] Waiting for portal startup...... Portal started. You can visit http://localhost:8070 now!

如果控制臺輸出以上為啟動成功

初體驗

輸入瀏覽器輸入http://localhost:8070

賬號:apollo

密碼:admin

可以見到默認的有一個Sample App項目,點進去,就可以見到下圖

.net客戶端使用

1.1 必選設置

Apollo客戶端依賴于AppId,Environment等環境信息來工作,所以請確保閱讀下面的說明并且做正確的配置:

1.1.1 AppId

AppId是應用的身份信息,是從服務端獲取配置的一個重要信息。

請確保在app.config或web.config有AppID的配置,其中內容形如:

<?xml version="1.0"?> <configuration> <appSettings> <!-- Change to the actual app id --> <add key="AppID" value="SampleApp"/>
</appSettings> </configuration>

注:app.id是用來標識應用身份的唯一id,格式為string。

1.1.2 Environment

Apollo支持應用在不同的環境有不同的配置,所以Environment是另一個從服務器獲取配置的重要信息。

Environment通過配置文件來指定,文件位置為C:\opt\settings\server.properties,文件內容形如:

env=DEV

目前,env支持以下幾個值(大小寫不敏感):

  • DEV
    • Development environment
  • FAT
    • Feature Acceptance Test environment
  • UAT
    • User Acceptance Test environment
  • PRO
    • Production environment

1.1.3 服務地址

Apollo客戶端針對不同的環境會從不同的服務器獲取配置,所以請確保在app.config或web.config正確配置了服務器地址(Apollo.{ENV}.Meta),其中內容形如:

<?xml version="1.0"?> <configuration> <appSettings> <!-- Change to the actual app id --> <add key="AppID" value="SampleApp"/> <!-- Should change the apollo config service url for each environment --> <add key="Apollo.DEV.Meta" value="http://localhost:8080"/> <add key="Apollo.FAT.Meta" value="http://localhost:8080"/> <add key="Apollo.UAT.Meta" value="http://localhost:8080"/> <add key="Apollo.PRO.Meta" value="http://localhost:8080"/> </appSettings> </configuration>

1.1.4 本地緩存路徑

Apollo客戶端會把從服務端獲取到的配置在本地文件系統緩存一份,用于在遇到服務不可用,或網絡不通的時候,依然能從本地恢復配置,不影響應用正常運行。

本地緩存路徑位于C:\opt\data\{appId}\config-cache,所以請確保C:\opt\data\目錄存在,且應用有讀寫權限。

1.1.5 可選設置

Cluster(集群)

Apollo支持配置按照集群劃分,也就是說對于一個appId和一個環境,對不同的集群可以有不同的配置。

如果需要使用這個功能,你可以通過以下方式來指定運行時的集群:

  • 通過App Config

    • 我們可以在App.config文件中設置Apollo.Cluster來指定運行時集群(注意大小寫)
    • 例如,下面的截圖配置指定了運行時的集群為SomeCluster
  • 通過配置文件

  • 首先確保C:\opt\settings\server.properties在目標機器上存在
  • ?

  • 在這個文件中,可以設置數據中心集群,如idc=xxx
  • 注意key為全小寫
  • Cluster Precedence(集群順序)

  • 如果Apollo.Cluster和idc同時指定:

    • 我們會首先嘗試從Apollo.Cluster指定的集群加載配置
    • 如果沒找到任何配置,會嘗試從idc指定的集群加載配置
    • 如果還是沒找到,會從默認的集群(default)加載
  • 如果只指定了Apollo.Cluster:

    • 我們會首先嘗試從Apollo.Cluster指定的集群加載配置
    • 如果沒找到,會從默認的集群(default)加載
  • 如果只指定了idc:

    • 我們會首先嘗試從idc指定的集群加載配置
    • 如果沒找到,會從默認的集群(default)加載
  • 如果Apollo.Cluster和idc都沒有指定:

    • 我們會從默認的集群(default)加載配置
  • 啟動控制臺程序

    修改配置并發布

    此時返回控制臺程序查看

    這個時候我們通過監聽程序監聽到配置在后臺被修改了,同時能獲取到最新配置值

    配置更新的推拉機制

    從上圖看到,阿波羅配置更新具備推和拉兩種方式,在后臺修改并發布后,會及時將配置推給客戶端,假如沒推成功,客戶端會通過后臺線程定時更新。

    如果客戶端與服務端發生了網絡分區,此時可以通過客戶端獲取本地文件緩存的配置數據,讓系統正常運作。

    緩存數據默認存儲在C:\opt\data

    從以上來看,阿波羅在可用性設計上還是很不錯的。

    結束

    客戶端? demo下載

    只展示了.net環境使用? 其他語言? 擴展?https://github.com/ctripcorp/apollo

    轉載于:https://www.cnblogs.com/weihengblogs/p/10147925.html

    總結

    以上是生活随笔為你收集整理的windows部署Apollo的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。