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

作者:gongxingwen

出处:https://www.cnblogs.com/dotnetSunset/p/17317934.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   渡——已  阅读(150)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示