Apollo使用
一、Apollo架构设计
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 并运行#
- docker pull mysql
- //运行:docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
2、准备配置apollo配置文件#
- github下载apollo文件:https://github.com/apolloconfig/apollo
- apollo/scripts/sql,这个文件夹下有两个sql,apolloportaldb.sql和apolloconfigdb.sql
- 使用navicate导入即可
3、分别启动配置服务、管理服务和web服务#
-
配置服务
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
-
管理服务
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
-
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
-
参数说明
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
作者:gongxingwen
出处:https://www.cnblogs.com/dotnetSunset/p/17317934.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
本文来自博客园,作者:渡——已,转载请注明原文链接:https://www.cnblogs.com/dotnetSunset/p/17317934.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构