2023年最新版Apollo保姆級使用手冊(超級詳盡版本)

北極的大企鵝發表於2023-09-30

Apollo操作說明

前言

  • 研究了一下apollo,發現官方文件還是很多地方寫的不是很明確(對比Nacos),因此,寫了一份更加簡潔,更加易用,特別適合新手使用的文件,希望對你有幫助,本文在於詳盡,圖示清晰,簡單易用,十分方便,無論是開發,產品,測試,還是不接觸程式碼的人,都可以看的清楚明白.

Apollo環境部署

一、環境構建

軟體名稱 版本 相關文章推薦
Git 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15996063.html
JDK 1.8 https://www.cnblogs.com/liuyangfirst/p/14334385.html
Maven 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15981202.html
MySQL 5.6.10 https://www.cnblogs.com/liuyangfirst/p/15997667.html
DBeaver 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15997753.html
IntelliJ IDEA 儘量使用比較新的版本 https://www.jetbrains.com/idea/

二、官方地址

三、資料庫指令碼使用

  • 1.找到下載好的指令碼。

  • 2.開啟DBeaver,右鍵一個資料庫,選擇工具--->執行指令碼.

  • 3.選擇檔案所在路徑.額外命令裡新增配置.
--default-character-set=utf8

  • 4.選擇一個檔案,點選確認.

  • 5.填好後,如圖,選擇開始,不報錯執行完畢,就是成功了,成功後,會生成如圖兩個資料庫.

四、配置Apollo檔案

  • 1.找到下載好的檔案,找到demo檔案,對其備份。

  • 2.開啟demo檔案,進行如圖修改(你的賬戶密碼,不一樣,自行修改)。

五、啟動Apollo

  • 1.右鍵選擇git工具.(保證8080\8090\8070 埠不被佔用)

  • 2.輸入命令啟動.
./demo.sh start
  • 輸入後,進入等待狀態,一直等所有啟動後才是成功.

  • 3.關閉命令

六、訪問Apollo

  • 3.訪問成功進入主頁

  • 4.訪問地址:官方樣例,可以檢視官網如何使用的.

Apollo產品使用

一、修改部門

  • 1、Apollo的部門設計很不好,需要進行修改,修改方式如下。

    • 正常的新建,這時候,只有這個樣例部門,沒有正常的部門,所以要修改。

  • 2、修改方式類似於json修改,首先找到如圖的引數修改。

  • 3.點選如圖修改,新版的這個可以看到這個配置列表了,舊版需要輸入關鍵字。

    • 舊版是這樣的。

    • 需要輸入:organizations,點選查詢。

  • 4.新版修改了樣式,操作還是一樣的,就是按照格式修改json。

    • 修改樣例。(自己編的,你也可以自定義)

      [{"orgId":"micro_service","orgName":"研發部"},{"orgId":"002","orgName":"銷售部"},{"orgId":"003","orgName":"行政部"},{"orgId":"004","orgName":"財務部"},{"orgId":"005","orgName":"商務部"},{"orgId":"006","orgName":"保潔部"},{"orgId":"007","orgName":"保安部"},{"orgId":"008","orgName":"餐飲部"},{"orgId":"009","orgName":"運營部"},{"orgId":"010","orgName":"客服部"},{"orgId":"011","orgName":"公關部"},{"orgId":"012","orgName":"法務部"},{"orgId":"013","orgName":"後勤保障部"}]
      
    • 修改新版的,貼上到這裡。

    • 儲存後如圖。一定要格式對,否則會報錯,整個都不好使了。

    • 新增成功,再看新進內,就這樣了。

二、應用操作

  • 1.新建應用。點選如圖位置,新增相關引數,點選儲存,再返回主介面,就可以看到自己建立的應用了。

  • 2.修改應用,選擇如圖,修改新增時候的資訊,點選修改應用資訊,就可以修改了。

  • 3.在總列表裡,可以看到新增的應用。

  • 4.刪除應用,這個功能就需要吐槽下,本來應該在展示介面裡就有,可是它卻在管理員工具裡,這個button設定的不好。

    • 本來在首頁設定直接點刪除很好操作,結果在管理中,而且,還是需要自己輸入ID,這就更費勁操作了。

    • 刪除成功後,提示資訊。再點選返回首頁,才能看到成功刪除,不會自動跳轉。

三、使用者操作

  • 1.新增使用者,進入使用者介面後,新增資訊,點選新增。

  • 舊版的就可以設定簡單的密碼.

  • 新建使用者後,可以進入登陸介面進行登陸.

  • 成功後如圖顯示,但是,這裡的使用者沒有管理員工具.很多功能需要授權使用.

  • 2.編輯使用者,修改使用者的資訊。

  • 可以在列表裡選擇禁用,但是,為什麼不把刪除放在這裡呢?這個介面不是很友好。

  • 選擇過濾進行查詢,選擇重置,就會刪除關鍵字(沒什麼用的設計)。

  • 3.刪除使用者,由於介面沒有開發刪除功能,所以想要刪除使用者(在如圖位置),需要自己刪除資料庫的資料(謹慎操作).


# 一定加好where條件,不然全部使用者刪了,就不用用了
delete  from  users where id = 2 

  • 技能好的可以原始碼複製下來,二次開發加上刪除使用者的button,技能不好的,想要刪除,就像這樣刪除資料庫的使用者,這是在使用者沒有賦權的簡單模式下刪除,賦權後,還要同步刪除許可權.

四、系統許可權管理

1、建立應用許可權配置

  • 1)操作之前保證新建了一個使用者(詳情看使用者新增),保證有多個可以測試的應用.

  • 2)使用前需要開啟這個功能,才能配置,否則配置無效.

    • 要在系統配置頁面,首先將這個引數新增進去.

    • 輸入配置的資訊,點選提交

    
    role.create-application.enabled = true
    
    

  • 登陸普通使用者:zhangsan,就會發現在首頁應用這裡,圖示都沒了.

  • 管理員這裡是有這個圖示的.

  • 3)登陸超級管理員apollo,使用這裡的授權功能進行授權,再登陸zhangsan(普通使用者檢視),發現這裡的圖示又出現了.

  • 在這個列表裡可以選擇.給使用者新增建立應用的許可權(使用者預設就有這個許可權)

2、建立應用許可權配置

  • 1 ) 進入首頁,選擇一個應用進入.

  • 2 )點選進入後,發現這裡有個管理應用.

    • 先給普通使用者新增這個應用的管理員許可權.

  • 3 ) 登陸普通使用者zhangsan,檢視其應用.

    • 點選下拉框發現普通使用者,也可以修改應用的管理員.

  • 4 ) 進入apollo賬戶下,新增引數到系統引數中.

  • 新增引數,到配置中,點選提交.

    
    role.manage-app-master.enabled = true
    
    

  • 對其設定.

  • 如圖位置找到,選擇點選.(系統許可權管理應該叫做使用者應用許可權管理,更加恰當,應該是產品起的名字,奇奇怪怪的)

  • 可以將管理員的應用授權給普通使用者使用許可權(那麼就沒什麼變化,所以這裡要禁用其功能).

  • 5 ) 重新登陸zhangsan賬戶,點選進入應用詳情.

  • 這時就會看到管理員分配的功能沒有了,只有一個檢視的功能了.

3、與舊版比對

  • 舊版是沒有這個模組的,這是新增的一個模組,對兩個許可權進行了修改,全網和官網都沒有相關配置,這裡是作者反覆測試得到的結果.

五、系統引數

  • 可以透過這裡配置.

1、PortalDB 配置管理

  • 這個模組對應的資料庫就是這個的表.

新增配置

  • 就相當於專案裡的properties

編輯配置

查詢配置

刪除配置

  • 介面沒有開發刪除功能,所以,要在資料庫操作刪除.

  • 謹慎操作,不要輕易操作

2、ConfigDB 配置管理

  • 這個模組對應的資料庫就是這個的表.

新增配置

  • 就相當於專案裡的properties

編輯配置

查詢配置

刪除配置

  • 介面沒有開發刪除功能,所以,要在資料庫操作刪除.

  • 謹慎操作,不要輕易操作

六、系統資訊

  • 主要是檢視功能,就跟Euraka的主頁一樣.

七、配置匯出匯入

  • 會把配置資訊匯出成應用配置的資訊.

1、配置匯出

  • 匯出後會產生這樣的文件.開啟檢視都是json格式的資料.

2、配置匯入

八、應用配置(核心功能使用)

  • 在主頁點選應用進入應用配置.

1、應用資訊配置

  • 檢視應用操作.

2、管理應用配置

  • 檢視第四章系統許可權管理

  • 檢視應用操作

3、管理金鑰配置(新版才有,舊版沒有)

  • 進入金鑰詳情,點選新增進行新增.

  • 可以點選啟用或者刪除.

  • 點選啟用

4、新增叢集配置

  • 叢集就是多個伺服器或者多個服務同時使用.

    刪除叢集

  • 在首頁找到管理員工具裡的刪除功能.另一個頁面開啟記住叢集的名字,複製貼上過來.

  • 一個開啟記錄叢集名稱.

  • 進入刪除叢集介面.複製叢集名稱貼上進來.

  • 刪除成功後.

  • 再次檢視應用詳情中,刪除成功.

    叢集沒有修改名稱的操作

  • 可以透過修改資料庫實現 .

    
    UPDATE  cluster SET Name='HandSomeBoy' where Id = 7 and IsDeleted=0;
    
    

  • 修改成功,再檢視介面.

5、新增Namespace配置

  • 進入內部的NameSpace配置介面,

  • 有兩個模組:建立Namespace和關聯公共元件Namespace

  • 其他功能.

A、建立Namespace配置

建立新的Namespace

  • 型別:公有就是其他專案也可以使用,私有就是隻有當前的專案可以使用,建法一樣,就是看你是自己專案用還是大家一起用.

設定Namespace

  • 點選新增配置

  • 具體配置資訊描述.

  • 另一種就是透過文字新增,當產生配置表之後,可以進行文字配置的.

  • 配置成功後生成列表.

  • 點選這裡進行修改

  • 點選叉進行刪除

  • 其他配置可以按需求修改.

  • 最後釋出配置檔案,就相當於上線了的配置檔案,可以用服務連線使用了.

B、關聯公共元件Namespace
  • 就是兩個或者多個專案,共同使用一個配置的namespace,也相當於共用的properties.

建立關聯的namespace

  • 選擇另一個應用進入,找到namespace設定,選擇關聯公共namespace

  • 本來沒有namespace,這樣就共用了一個公有的namespace.達到多個專案共用一個公有公共的namespace.

    • 建立成功選擇回到首頁.

  • 還可以進行覆蓋修改操作.

    • key重複了,但是,在這個專案裡單獨的被覆蓋修改了.

C、刪除Namespace

應用內刪除namespace

  • 選中一個應用進入,看到namespace列表,選擇這個地方,選擇刪除.

  • 選擇刪除namespace.

管理員工具中刪除namespace

  • 功能建立的很散,所以,只能這樣寫了.

  • 點選進入,檢視到刪除namespace的地方.

  • 需要檢視列表裡的名字,雙開瀏覽器比較方便操作,不然不好複製貼上.

  • 回到首頁的應用,點選進入,檢視到沒有了.

九、開放平臺授權管理

  • 需要有這個需求的專案作為前提.

  • 首先要把第三方的應用接入到apollo平臺裡,否則,這裡無法使用

  • 進入主頁分為兩個模組:建立第三方應用 和賦權

  • 模擬填寫一下.

  • 模擬填寫一下.

  • 填寫無誤建立成功,就會返回到如圖的列表中,列表就會顯示出來.

Apollo 開發使用

一、構建開發環境

軟體名稱 版本 相關文章推薦
Git 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15996063.html
JDK 1.8 https://www.cnblogs.com/liuyangfirst/p/14334385.html
Maven 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15981202.html
MySQL 5.6.10 https://www.cnblogs.com/liuyangfirst/p/15997667.html
DBeaver 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15997753.html
IntelliJ IDEA 儘量使用比較新的版本 https://www.jetbrains.com/idea/

二、構建微服務專案

參考文章

軟體名稱 版本 相關文章推薦
Git 儘量最新 https://www.cnblogs.com/liuyangfirst/p/15996063.html

三、微服務接入Apollo

1、 修改pom

  • 在pom.xml中新增Apollo客戶端 。

    
    <dependency>
        <groupId>com.ctrip.framework.apollo</groupId>
        <artifactId>apollo-client</artifactId>
        <version>1.1.0</version>
    </dependency>
    
    
  • 專案的父類中新增。

2、修改properties

  • 主要新增在consumer的路徑下,就是呼叫apollo服務的模組。(由於是分散式,所以Apollo就相當於一個公共的服務,公共服務的東西被專案透過服務的方式呼叫。)

  • 在resources目錄下新建apollo-env.properties檔案

# 這個是最有用的
dev.meta=http://localhost:8080
# 功能驗收測試環境
fat.meta=http://211.103.136.242:7134
# 使用者驗收測試環境
uat.meta=http://172.17.0.83:8080
# 生產環境
pro.meta=http://itcast.xxx.com
  • application.properties中進行如下配置
# 專案ID
app.id=account-service
# 啟動階段就注入配置(提高優先順序)
apollo.bootstrap.enabled = true
# 使用哪些名稱空間中的配置項
apollo.bootstrap.namespaces = application,micro_service.spring-boot-http,springrocketmq
# 服務埠
server.port=63000

3、編譯啟動

A.配置啟動引數
  • 完整的VM Options如下:

-Denv=DEV -Dapollo.cluster=DEFAULT

B、其他描述
  • Environment

    
    # 可以透過Java的System Property的env來指定環境:
    -Denv=DEV
    
    
  • Cluster(叢集)

    
    # 透過Java的System Property的apollo.cluste來指定叢集:
    -Dapollo.cluster=DEFAULT
    
    

4、模組啟動順序

序號 模組 描述
1 啟動Apollo 啟動Apollo的jar包
2 DiscoveryServer 註冊中心
3 GatewayServerGatewayServer 閘道器
4 ConsumerService 使用者中心
  • 啟動無誤,就是配置成功了.

五、呼叫流程圖

  • 對應關係

六、版本對應

版本對應關係

  • springboot/springcloud/apollo-client 對應版本
年份 springboot springcloud apollo-client jdk
2023.2.1 3.0.2 2022.0.0 2.1.0 1.8
2023.X.X 2.6.8 2021.0.2 2.1.0 1.8
自行使用版本 2.1.3.RELEASE Greenwich.RELEASE 1.2.0 1.8
  • spring對應版本
年份 spring apollo-client jdk
2023.2.1 3.1.1.RELEASE 2.1.0 1.8
  • springboot/springcloud 對應版本(官網)

apollo-client已有版本

七、注意

1、配置 集體放在Apollo配置中心,怎麼被應用獲取呢?

  • 透過Apollo客戶端。在專案裡就是加個pom依賴,然後修改相關配置。

  • 客戶端的作用:從配置中心取配置

2、配置properties的作用?

  • 雖然有了配置中心的客戶端,但是,客戶端不知道要取什麼配置,去哪裡取。
  • 配置中心在哪裡存放,要從配置中心的哪個專案裡,取哪個環境的,取哪個叢集的,哪個名稱空間裡的什麼配置。

結語

嘔心瀝血,爆肝兩個星期(需要寫配置環境的文件,還要反覆測試,以便為各位看官老爺提供最好的精品文章),希望點贊,收藏,評論,轉發,您的支援就是本博主前進的動力.

相關文章