激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - docker compose 一鍵部署分布式配置中心Apollo的過程詳解

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

2021-11-11 19:15高增智 服務器知識

這篇文章主要介紹了docker compose 一鍵部署分布式配置中心Apollo,今天我們使用Docker來進行搭建,畢竟Docker對于開發者來說更友好一些,需要的朋友可以參考下

簡介

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

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

apollo(阿波羅)是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,并且具備規范的權限、流程治理等特性,適用于微服務配置管理場景。

搭建

官方文檔中有兩種搭建方式一種是下載源代碼進行搭建,一種是使用docker或者k8s進行搭建,今天我們使用docker來進行搭建,畢竟docker對于開發者來說更友好一些。

如果已有mysql服務,推薦已有mysql服務或者云服務rds來當數據庫使用,畢竟數據無價。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
version: "3"
services:
  apollo-configservice: #config service提供配置的讀取、推送等功能,服務對象是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提供配置的修改、發布等功能,服務對象是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個服務,分別為:

  1. config service提供配置的讀取、推送等功能,服務對象是apollo客戶端
  2. admin service提供配置的修改、發布等功能,服務對象是apollo portal(管理界面)
  3. portal(管理界面)

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: '3'
 
services:
 
  mysql: # myslq 數據庫
    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: #環境變量
      mysql_root_host: "%"
      mysql_root_password: password
      mysql_user: brook
      mysql_password: password
    ports:
      - "3306:3306"

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

初始化數據庫
初始化 apolloconfigdb.sql 和 apolloportaldb.sql

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

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

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

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

docker-compose up -d #啟動文件中的三個服務并且后臺運行

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

查看啟動情況

docker-compose ps

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

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

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

默認用戶名:apollo
默認密碼:admin

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

創建一個測試項目

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

測試

創建一個.netcore項目 添加apollo.net client

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

添加apollo

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

配置apollo

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

配置如上

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

添加測試內容
代碼中獲取apollo

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

啟動程序 請求/weatherforecast/apollotest

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

發現并未獲取到apollo中設置的配置

檢查apollo發現配置的值并沒有發布

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

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

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

發現數據已經是新的數據了,我們再次修改一下apollo的value

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

刷新

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

致此 apollo已經搭建完畢并且可以正常使用了

代碼

示例中的代碼在
https://github.com/yuefengkai/brook.apollo
歡迎大家start

注意如果程序啟動后無法拉取配置,可以打開apollo的日志,在控制臺中可以看到詳細的配置 放到program.cs main函數第一行即可!

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

到此這篇關于docker compose 一鍵部署分布式配置中心apollo的文章就介紹到這了,更多相關docker compose部署分布式配置中心apollo內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/yuefengkai/archive/2021/09/13/15262523.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 电影一级毛片 | 欧美视屏一区二区 | 久久不射电影 | 欧洲精品色| asian附近女人裸体pics | 毛片免费大全短视频 | 污片在线观看视频 | 国产免费观看a大片的网站 欧美成人一级 | 99精彩视频在线观看 | 奶子吧naiziba.cc免费午夜片在线观看 | 538任你躁在线精品视频网站 | 91福利免费观看 | 日韩在线视频导航 | 久久精品操| 99久久精品免费 | 成人青青草 | 色污视频在线观看 | 成年人黄色免费电影 | 欧美中文字幕一区二区 | 综合欧美一区二区三区 | 日本看片一区二区三区高清 | 看片一区 | 九九热视频在线免费观看 | 在线中文字幕亚洲 | 久久精品久久精品久久精品 | 在线a毛片免费视频观看 | 一区二区三区四区国产精品视频 | 亚洲第一激情 | 日本特级a一片免费观看 | 永久在线观看电影 | 午夜精品久久久久久毛片 | 欧美a一 | 国产乱一区二区三区视频 | 毛片一区二区三区四区 | 色爽爽爽 | 亚洲成在人 | 亚洲国产精品久久久久婷婷老年 | 被啪羞羞视频在线观看 | www国产网站| 国产精品成人亚洲一区二区 | 久久成人免费网站 |