0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Apollo本地快速部署

Java開發(fā) ? 來源:代碼的路 ? 作者:代碼的路 ? 2023-01-13 15:45 ? 次閱讀

原文鏈接

GitHub項目地址

Gitee項目地址

Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r推送到應(yīng)用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務(wù)配置管理場景。

Apollo 與 properties 配置文件的功能相同,都可以設(shè)置參數(shù)。Apollo 的優(yōu)點(diǎn)在于,可以實時修改參數(shù)的值,而不需要重啟項目。

1 環(huán)境準(zhǔn)備

需要 Java 1.8 及以上,MySQL 5.6 及以上的版本。

MySQL安裝配置方式:https://mp.weixin.qq.com/s/ISCjsIpmccVnuvXPkiFLMw

如果只是本地測試的話,推薦使用 GitHub 上的開源項目 Apollo Quick Start;

安裝包下載地址:https://pan.baidu.com/s/11dYV5x1Qu7svEGaJLShoqQ?pwd=6666

提取碼:6666

2 SQL 導(dǎo)入

下載并解壓安裝包 apollo-quick-start-2.0.1.zip,可以看到目錄下有 sql 文件夾,里面有 apolloconfigdb.sql 和 apolloportaldb.sql 兩個文件,需要將這兩個文件導(dǎo)入 MySQL中。

打開 win 菜單中的 MySQL 8.0 Command Line Client - Unicode 命令,

運(yùn)行:

source D:\\\\\\\\\\\\\\\\Apollo\\\\\\\\\\\\\\\\apollo-quick-start-2.0.1\\\\\\\\\\\\\\\\sql\\\\\\\\\\\\\\\\apolloconfigdb.sql
source D:\\\\\\\\\\\\\\\\Apollo\\\\\\\\\\\\\\\\apollo-quick-start-2.0.1\\\\\\\\\\\\\\\\sql\\\\\\\\\\\\\\\\apolloportaldb.sql

D:\\\\\\\\\\\\\\\\Apollo 是我存放 apollo-quick-start-2.0.1 文件夾的路徑。

即可完成導(dǎo)入。

導(dǎo)入成功后,可以通過執(zhí)行以下sql語句來驗證:

select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;

有以下輸出,表示導(dǎo)入成功。

3 啟動 Apollo

編輯 apollo-quick-start-2.0.1文件夾下的 demo.sh,修改 ApolloPortalDB 和 ApolloConfigDB 相關(guān)的數(shù)據(jù)庫連接配置信息。

#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=root
apollo_config_db_password=root

# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=root
apollo_portal_db_password=root

我的數(shù)據(jù)庫的賬號密碼均為 root。

找到 demo.sh 的第72行,將 cd "${0%/*}" 改為當(dāng)前路徑:

cd D:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Apollo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\apollo-quick-start-2.0.1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

打開 win 菜單中的 Git Bash,運(yùn)行 demo.sh 。

D:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Apollo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\apollo-quick-start-2.0.1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\demo.sh start

等待運(yùn)行一段時間后,當(dāng)看到如下輸出,就說明啟動成功了。

==== 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,即可登錄。

停止運(yùn)行命令:

D:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Apollo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\apollo-quick-start-2.0.1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\demo.sh stop

需要注意,apollo 端口號為8070,但在 Java 工程的 properties 中, apollo.meta設(shè)置的端口號應(yīng)為 Eureka 的端口號8080。

4 使用 Apollo

點(diǎn)擊創(chuàng)建應(yīng)用:

輸入自定義的參數(shù):

即可創(chuàng)建成功。然后在新創(chuàng)建的應(yīng)用中增加配置:

5 項目實例

下載一個測試項目 learn-apollo

GitHub地址:https://github.com/Snowstorm0/learn-apollo

Gitee地址:https://gitee.com/Snowstorm0/learn-apollo

在運(yùn)行項目之前需要修改 resource/application.properties 中 apollo.meta 的值,將 localhost 替換為 apollo 的地址,端口號為 Eureka 的端口號(默認(rèn)為8080)。

在 Apollo 中新增并發(fā)布如下三個參數(shù):

learn-apollo 是一個定時任務(wù),可以每隔5秒輸出一次apollo的參數(shù)信息。

運(yùn)行該項目,輸出:

paramStr:str1

然后在apollo中修改參數(shù)的值,將str1改為str2。

不需要重啟項目,此時項目會輸出參數(shù)更新的日志信息:

[Apollo-Config-1] c.f.a.s.p.AutoUpdateConfigChangeListener : 
Auto update apollo changed value successfully, 
new value: paramStr7, key: param.paramStr, beanName: myService, 
field: com.spring.boot.service.MyService.paramStr

項目的輸出也變了:

paramStr:str2
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2967

    瀏覽量

    104746
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    809

    瀏覽量

    26564
  • Apollo
    +關(guān)注

    關(guān)注

    5

    文章

    342

    瀏覽量

    18450
收藏 人收藏

    評論

    相關(guān)推薦

    賽思互動:淺析CRM Online與CRM本地部署的區(qū)別

    本地部署解決方案中進(jìn)行選擇(如果不知道什么是云部署什么是本地部署請自行補(bǔ)腦)。對于兩種解決方案在過渡時間,功能完善性和延展性等問題的思考往
    發(fā)表于 08-04 09:20

    如何對Apollo2.5 CANBUS進(jìn)行全面調(diào)試?

    前言:CANBUS是Apollo需要根據(jù)你的底盤寫代碼的地方,感覺也是Apollo最難調(diào)試的部分。這部分首先要選好CAN卡,因為不是Apollo推薦的CAN卡,驅(qū)動程序和對應(yīng)接口,可能都需要自己調(diào)整
    發(fā)表于 08-30 06:02

    Ambiq Apollo4的相關(guān)資料推薦

    今天翻官方的網(wǎng)站,發(fā)現(xiàn)了 Apollo4 的鏈接。從其中下來Apollo3-Apollo4-SDK-2020.06.20,發(fā)現(xiàn)了\boards\apollo4_eb\examples\u***\tinyu***_cdc這個不錯,
    發(fā)表于 12-13 08:30

    Apollo Heritage版音頻接口附帶的插件

     Universal Audio在去年推出的Apollo Heritage版音頻接口提供了5個或10個獲獎的UAD插件,包括Teletronix?、Fairchild?、Pultec?、Helios
    發(fā)表于 01-24 08:59

    DIGIPCBA的平臺是否支持將云平臺部署本地服務(wù)器

    DIGIPCBA的平臺是否支持將云平臺部署本地服務(wù)器,只對本地的內(nèi)部人員開放
    發(fā)表于 06-22 14:13

    怎么解決Ambiq Apollo3移植鏈接腳本出錯的問題呢?

    移植Apollo3過程中發(fā)現(xiàn)官方工程都使用專用的sct腳本,寫法跟MDK默認(rèn)生成的格式不同。不知道怎么修改內(nèi)存映射關(guān)系。默認(rèn)MDK生成的是 RW_IRAM1則是定義 #define
    發(fā)表于 03-14 10:43

    本地測試環(huán)境搭建

    本文主要介紹了本地測試環(huán)境搭建搭建一個本地測試環(huán)境無疑是個明智的選擇,再結(jié)合GitHub、Jenkins、Docker等工具,進(jìn)行持續(xù)集成、資源隔離,既可以快速的構(gòu)建、部署自己的項目,
    的頭像 發(fā)表于 01-31 16:01 ?2874次閱讀
    <b class='flag-5'>本地</b>測試環(huán)境搭建

    apollo系列之apollo2 mcu開發(fā)(基礎(chǔ)篇)之1.1-apollo2 mcu簡介

    更多內(nèi)容在:apollo系列匯總Apollo2 mcu的架構(gòu)
    發(fā)表于 10-25 17:36 ?20次下載
    <b class='flag-5'>apollo</b>系列之<b class='flag-5'>apollo</b>2 mcu開發(fā)(基礎(chǔ)篇)之1.1-<b class='flag-5'>apollo</b>2 mcu簡介

    ERP到底該選云部署還是本地部署?兩種模式有什么優(yōu)勢?

    在過去的十余年中,ERP在中國市場經(jīng)歷了蓬勃的發(fā)展,但同時也在與云時代的各類新概念不斷碰撞——“云化”,是每一個ERP廠商和ERP使用者無法回避的話題。那么ERP云部署本地部署兩種模式各有哪些優(yōu)勢
    的頭像 發(fā)表于 09-29 20:29 ?1276次閱讀

    如何本地部署大模型

    近期,openEuler A-Tune SIG在openEuler 23.09版本引入llama.cpp&chatglm-cpp兩款應(yīng)用,以支持用戶在本地部署和使用免費(fèi)的開源大語言模型,無需聯(lián)網(wǎng)也能使用!
    的頭像 發(fā)表于 10-18 11:48 ?2527次閱讀
    如何<b class='flag-5'>本地</b><b class='flag-5'>部署</b>大模型

    基于Docker-Compose的Apollo部署安裝與使用

    為什么選擇 Apollo:穩(wěn)定&簡單,雖然比不上 Nacos 的性能,也沒有服務(wù)發(fā)現(xiàn)功能,但是穩(wěn)定?。。。? 在我自己部署前,會覺得這個東西好難,好重,好麻煩。寫這篇文章的時候的感受只有兩個字:牛*
    的頭像 發(fā)表于 01-02 10:15 ?1578次閱讀
    基于Docker-Compose的<b class='flag-5'>Apollo</b><b class='flag-5'>部署</b>安裝與使用

    源2.0適配FastChat框架,企業(yè)快速本地部署大模型對話平臺

    北京2024年2月28日?/美通社/ -- 近日,浪潮信息Yuan2.0大模型與FastChat框架完成全面適配,推出"企業(yè)快速本地部署大模型對話平臺"方案。該方案主要面向金融、法律、教育等領(lǐng)域
    的頭像 發(fā)表于 02-29 09:57 ?811次閱讀
    源2.0適配FastChat框架,企業(yè)<b class='flag-5'>快速</b><b class='flag-5'>本地</b>化<b class='flag-5'>部署</b>大模型對話平臺

    百度Apollo計劃年內(nèi)部署千臺無人車

    百度Apollo在最新開放日ApolloDay2024上宣布,今年內(nèi)將在武漢部署千臺無人車,進(jìn)一步推動自動駕駛技術(shù)的商業(yè)化進(jìn)程。其中,“蘿卜快跑”作為百度Apollo的自動駕駛出行服務(wù)品牌,計劃到2024年底在武漢實現(xiàn)收支平衡,
    的頭像 發(fā)表于 05-16 09:40 ?421次閱讀

    【AIBOX上手指南】快速部署Llama3

    Firefly開源團(tuán)隊推出了Llama3部署包,提供簡易且完善的部署教程,過程無需聯(lián)網(wǎng),簡單快捷完成本地部署。點(diǎn)擊觀看Llama3快速
    的頭像 發(fā)表于 06-06 08:02 ?666次閱讀
    【AIBOX上手指南】<b class='flag-5'>快速</b><b class='flag-5'>部署</b>Llama3

    涂鴉HEDV本地部署方案,助你低成本實現(xiàn)定制化開發(fā)!

    ,如何低成本實現(xiàn)快速交付、敏捷迭代以及滿足本地合規(guī)部署的需求,成為了行業(yè)亟待解決的問題。面對這一挑戰(zhàn),涂鴉智能精心推出了海德薇(HEDV)本地部署
    的頭像 發(fā)表于 07-06 08:15 ?778次閱讀
    涂鴉HEDV<b class='flag-5'>本地</b>化<b class='flag-5'>部署</b>方案,助你低成本實現(xiàn)定制化開發(fā)!