最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker compose 一鍵部署分布式配置中心Apollo的過程詳解

 更新時間:2021年09月19日 10:25:40   作者:高增智  
這篇文章主要介紹了docker compose 一鍵部署分布式配置中心Apollo,今天我們使用Docker來進(jìn)行搭建,畢竟Docker對于開發(fā)者來說更友好一些,需要的朋友可以參考下

簡介

說起分布式肯定要想到分布式配置中心、分布式日志、分布式鏈路追蹤等

在分布式部署中業(yè)務(wù)往往有很多配置比如: 應(yīng)用程序在啟動和運(yùn)行時需要讀取一些配置信息,配置基本上伴隨著應(yīng)用程序的整個生命周期,比如:數(shù)據(jù)庫連接參數(shù)、啟動參數(shù)等,都需要去維護(hù)和配置,但不可能一臺臺服務(wù)器登錄上去配置
今天我要跟大家分享一下分布式配置中心Apollo:

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

搭建

官方文檔中有兩種搭建方式一種是下載源代碼進(jìn)行搭建,一種是使用Docker或者K8S進(jìn)行搭建,今天我們使用Docker來進(jìn)行搭建,畢竟Docker對于開發(fā)者來說更友好一些。

如果已有Mysql服務(wù),推薦已有Mysql服務(wù)或者云服務(wù)RDS來當(dāng)數(shù)據(jù)庫使用,畢竟數(shù)據(jù)無價。

version: "3"
services:
  apollo-configservice: #Config Service提供配置的讀取、推送等功能,服務(wù)對象是Apollo客戶端
    image: apolloconfig/apollo-configservice:1.8.1
    restart: always
    #container_name: apollo-configservice
    volumes:
          - ./logs/apollo-configservice:/opt/logs
    ports:
      - "8080:8080"
    environment:
      - TZ='Asia/Shanghai'    
      - SERVER_PORT=8080
      - EUREKA_INSTANCE_IP_ADDRESS=xxx.xxx.xxx.xxx
      - EUREKA_INSTANCE_HOME_PAGE_URL=http://xxx.xxx.xxx.xxx:8080
      - SPRING_DATASOURCE_URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=MysqkPassWord!
      
      
  apollo-adminservice: #Admin Service提供配置的修改、發(fā)布等功能,服務(wù)對象是Apollo Portal(管理界面)
    image: apolloconfig/apollo-adminservice:1.8.1
    restart: always
    #container_name: apollo-adminservice
    volumes:
      - ./logs/apollo-adminservice:/opt/logs
    ports:
      - "8090:8090"
    depends_on:
      - apollo-configservice
    environment:
      - TZ='Asia/Shanghai'    
      - SERVER_PORT=8090
      - EUREKA_INSTANCE_IP_ADDRESS=xxx.xxx.xxx.xxx
      - SPRING_DATASOURCE_URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=MysqkPassWord!
      
      
  apollo-portal: #管理界面
    image: apolloconfig/apollo-portal:1.8.1
    restart: always
    container_name: apollo-portal
    volumes:
      - ./logs/apollo-portal:/opt/logs
    ports:
      - "8070:8070"
    depends_on:
      - apollo-adminservice
    environment:
      - TZ='Asia/Shanghai'    
      - SERVER_PORT=8070
      - EUREKA_INSTANCE_IP_ADDRESS=xxx.xxx.xxx.xxx
      - APOLLO_PORTAL_ENVS=dev
      - DEV_META=http://xxx.xxx.xxx.xxx:8080
      - SPRING_DATASOURCE_URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=MysqkPassWord!

從以上docker-compose.yaml中可以看出共包含3個服務(wù),分別為:

  1. Config Service提供配置的讀取、推送等功能,服務(wù)對象是Apollo客戶端
  2. Admin Service提供配置的修改、發(fā)布等功能,服務(wù)對象是Apollo Portal(管理界面)
  3. Portal(管理界面)

如果想了解它們之間的運(yùn)行方式推薦查看官方文檔

日志掛載到外部./logs目錄下

大家可以看到上方并沒有給出Mysql的部署,如果需要使用容器部署Mysql可以參照下方docker-compose.yaml

version: '3'

services: 

  mysql: # myslq 數(shù)據(jù)庫
    image: 'mysql/mysql-server'
    container_name: 'mysql'
    restart: always
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower-case-table-names=1
    environment: #環(huán)境變量
      MYSQL_ROOT_HOST: "%" 
      MYSQL_ROOT_PASSWORD: password
      MYSQL_USER: brook
      MYSQL_PASSWORD: password
    ports:
      - "3306:3306"

上述mysql的docker-compose.yaml 僅供測試使用

初始化數(shù)據(jù)庫
初始化 apolloconfigdb.sqlapolloportaldb.sql

數(shù)據(jù)庫初始化后,記得修改apolloconfigdb庫中serverconfig表的 eureka.service.url 否則 apollo-adminservice無法注冊到eureka

修改后切換到Apollo docker-compose.yaml目錄 然后使用

docker-compose up -d #啟動文件中的三個服務(wù)并且后臺運(yùn)行

查看啟動情況

docker-compose ps

訪問 http://10.0.0.53:8070/ #Apollo管理端

默認(rèn)用戶名:apollo
默認(rèn)密碼:admin

創(chuàng)建一個測試項(xiàng)目


測試

創(chuàng)建一個.NetCore項(xiàng)目 添加Apollo.net client

添加Apollo

配置Apollo

配置如上

添加測試內(nèi)容
代碼中獲取Apollo

啟動程序 請求/weatherforecast/apollotest

發(fā)現(xiàn)并未獲取到apollo中設(shè)置的配置

檢查Apollo發(fā)現(xiàn)配置的值并沒有發(fā)布

所以大家配置或者修改了Apollo一定記得發(fā)布,我們發(fā)布后再次刷新瀏覽器

發(fā)現(xiàn)數(shù)據(jù)已經(jīng)是新的數(shù)據(jù)了,我們再次修改一下Apollo的Value

刷新

致此 Apollo已經(jīng)搭建完畢并且可以正常使用了

代碼

示例中的代碼在
https://github.com/yuefengkai/Brook.Apollo
歡迎大家Start

注意如果程序啟動后無法拉取配置,可以打開Apollo的日志,在控制臺中可以看到詳細(xì)的配置 放到Program.cs Main函數(shù)第一行即可!

LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);

參考

1.https://github.com/apolloconfig/apollo.net
2.https://github.com/apolloconfig/apollo
3.https://github.com/apolloconfig/apollo/tree/master/scripts/docker-quick-start

到此這篇關(guān)于docker compose 一鍵部署分布式配置中心Apollo的文章就介紹到這了,更多相關(guān)docker compose部署分布式配置中心Apollo內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 開放Docker端口的實(shí)現(xiàn)示例

    開放Docker端口的實(shí)現(xiàn)示例

    本篇文章主要介紹了開放Docker端口的實(shí)現(xiàn)示例, 需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • docker遷移數(shù)據(jù)目錄的方法步驟

    docker遷移數(shù)據(jù)目錄的方法步驟

    本文主要介紹了docker遷移數(shù)據(jù)目錄的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 一文詳解如何修改Docker的默認(rèn)存儲路徑

    一文詳解如何修改Docker的默認(rèn)存儲路徑

    這篇文章主要介紹了關(guān)于如何修改Docker的默認(rèn)存儲路徑的相關(guān)資料,默認(rèn)安裝的情況下,會使用 /var/lib/docker/ 目錄作為存儲目錄,用以存放拉取的鏡像和創(chuàng)建的容器等,這個路徑是系統(tǒng)存儲目錄,一般空間會比較小,需要的朋友可以參考下
    2023-08-08
  • 詳解docker進(jìn)行數(shù)據(jù)掛載的三種模式

    詳解docker進(jìn)行數(shù)據(jù)掛載的三種模式

    Docker?提供了三種方式將數(shù)據(jù)從宿主機(jī)掛載到?Docker容器中:?volumes、bind?mounts、tmpfs?,這篇文章主要介紹了docker進(jìn)行數(shù)據(jù)掛載的三種模式,需要的朋友可以參考下
    2022-05-05
  • 詳解如何在 docker 容器中捕獲信號

    詳解如何在 docker 容器中捕獲信號

    本篇文章主要介紹了如何在 docker 容器中捕獲信號,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Docker教程:使用容器(簡單示例)

    Docker教程:使用容器(簡單示例)

    今天小編就為大家分享一篇關(guān)于Docker教程:使用容器(簡單示例),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • AnythingLLM的Docker使用方式

    AnythingLLM的Docker使用方式

    文章介紹了如何使用AnythingLLM的Docker鏡像,并提供了一些生成和自定義Docker鏡像的詳細(xì)步驟,包括下載代碼、構(gòu)建鏡像和啟動容器
    2025-02-02
  • 關(guān)于Docker容器Dead狀態(tài)的分析

    關(guān)于Docker容器Dead狀態(tài)的分析

    這篇文章主要介紹了關(guān)于Docker容器Dead狀態(tài)的分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 如何解決安裝docker的yum工具時報錯問題

    如何解決安裝docker的yum工具時報錯問題

    在安裝Docker時遇到y(tǒng)um工具錯誤可通過更新yum源解決,先卸載舊Docker,備份原yum源,下載新的CentOS-Base.repo文件到指定目錄,安裝yum工具后,配置Docker的yum源,國內(nèi)用戶建議使用aliyun源以避免訪問異常,安裝并啟動Docker,校驗(yàn)是否成功
    2024-09-09
  • 使用Docker將容器目錄掛載到主機(jī)上的實(shí)現(xiàn)方法

    使用Docker將容器目錄掛載到主機(jī)上的實(shí)現(xiàn)方法

    本文主要介紹了使用Docker將容器目錄掛載到主機(jī)上的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05

最新評論

义马市| 襄樊市| 墨竹工卡县| 墨脱县| 五莲县| 边坝县| 山阴县| 上蔡县| 沙坪坝区| 将乐县| 合阳县| 和林格尔县| 涿州市| 安远县| 上高县| 驻马店市| 西青区| 始兴县| 专栏| 图们市| 安陆市| 崇仁县| 祁门县| 霍山县| 社旗县| 福建省| 扎兰屯市| 肇源县| 塔河县| 平乡县| 阳江市| 石台县| 宜州市| 太康县| 嘉黎县| 河南省| 泗阳县| 石林| 潞西市| 灵宝市| 湛江市|