Apollo使用

一、Apollo架构设计

img

1、四个核心模块及其主要功能

ConfigService

  • 提供配置获取接口
  • 提供配置推送接口
  • 服务于Apollo客户端

AdminService

  • 提供配置管理接口
  • 提供配置修改发布接口
  • 服务于管理界面Portal

Client

  • 为应用获取配置,支持实时更新
  • 通过MetaServer获取ConfigService的服务列表
  • 使用客户端软负载SLB方式调用ConfigService

Portal

  • 配置管理界面
  • 通过MetaServer获取AdminService的服务列表
  • 使用客户端软负载SLB方式调用AdminService

2、三个辅助服务发现模块

Eureka

  • 用于服务发现和注册
  • Config/AdminService注册实例并定期报心跳
  • 和ConfigService住在一起部署

MetaServer

  • Portal通过域名访问MetaServer获取AdminService的地址列表
  • Client通过域名访问MetaServer获取ConfigService的地址列表
  • 相当于一个Eureka Proxy
  • 逻辑角色,和ConfigService住在一起部署

NginxLB

  • 和域名系统配合,协助Portal访问MetaServer获取AdminService地址列表
  • 和域名系统配合,协助Client访问MetaServer获取ConfigService地址列表
  • 和域名系统配合,协助用户访问Portal进行配置管理

二、Apollo安装运行

1、安装mysql 并运行

  1. docker pull mysql
  2. //运行:docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

2、准备配置apollo配置文件

  1. github下载apollo文件:https://github.com/apolloconfig/apollo
  2. apollo/scripts/sql,这个文件夹下有两个sql,apolloportaldb.sql和apolloconfigdb.sql
  3. 使用navicate导入即可

3、分别启动配置服务、管理服务和web服务

  1. 配置服务

    docker run -p 8080:8080  -d -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.4:3306/ApolloConfigDB?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 --name apollo-configservice apolloconfig/apollo-configservice
    
  2. 管理服务

    docker run -p 8090:8090 -d  -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.4:3306/ApolloConfigDB?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456  --name apollo-adminservice apolloconfig/apollo-adminservice
    
  3. web服务

    docker run -p 8070:8070 -d  -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.1.4:3306/ApolloPortalDB?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 --name apollo-portal  apolloconfig/apollo-portal
    
  4. 参数说明

    SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
    SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
    SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码
    APOLLO_PORTAL_ENVS(可选): 对应ApolloPortalDB中的apollo.portal.envs配置项,如果没有在数据库中配置的话,可以通过此环境参数配置
    DEV_META/PRO_META(可选): 配置对应环境的Meta Service地址,以${ENV}_META命名,需要注意的是如果配置了ApolloPortalDB中的apollo.portal.meta.servers配置,则以apollo.portal.meta.servers中的配置为准
    

4、访问Apollo页面:http://192.168.1.4:8070

​ 默认账号密码:apollo/admin

image-20230414115200457

posted @ 2023-04-14 12:20  渡——已  阅读(167)  评论(0)    收藏  举报