单机多环境部署apollo 2.3.0

前言

为了更深的理解apollo架构原理, 首先需要模拟生产对其进行分布式多环境部署
根据官网 分布式多环境部署文档 推荐每个环境单独部署configservice以及adminservice
鉴于当前研究学习,没有必要多台虚拟机消耗资源,故单机部署

思路

Apollo配置中心架构设计

理解apollo的整体架构后,对比nacos配置中心功能点,其设计的复杂度以及完整度相较nacos而言更为丰富
对于不同的环境,例如 FAT, PRO 在部署时进程已经完全物理隔离,并且每个环境config/adminservice依赖的数据也完全物理隔离(连接不同的db),在数据隔离与安全方面做的很完善,但同时也提升了架构的复杂度
而 portal 可以管理多个环境,单节点部署虽然有单点问题,但并不会影响业务从configservice读取配置, 挂掉只要重启就可以,只是在一段时间内无法修改配置

所以整体的思路为:

  1. 部署一个portal服务, 配置管理多个环境
  2. 每个环境单独一个文件夹,修改每个环境configservice、adminservice的端口避免冲突
  3. 每个环境单独连接一个db,config/admin 都依赖db管理数据
  4. (重要)由于configservice中内嵌了eureka server, 并且同一个环境内的configservice, adminservice也需要注册到 configservice中的eureka, 而改变了config的端口,也就意味着内嵌的eureka sever地址变化,所以需要修改 configservice 以及 adminservice 作为eureka client 注册到服务端的地址
    configservice 源码配置如下:在这里插入图片描述
    adminservice 源码配置如下
    在这里插入图片描述

部署实践

这里部署 2个环境 FAT 以及 PRO, 更多环境同理
部署一个portal 管理这两个环境,并提供界面操作
版本为 apollo 2.3.0

FAT 环境 configservice 端口 8080, adminservice 端口 8090, FAT环境统一注册到 8080 configservice内嵌的eurekaserver中
PRO环境 configservice 端口 8081,adminservice 端口 8091,PRO环境统一注册到 8081 configservice内嵌的eurekaserver中

1. 部署db

1.1. 自行准备一台mysql
1.2. 用官方提供的ApolloConfigDB.sql 创建两个数据库,apolloconfigdb_fat 以及 apolloconfigdb_pro, 分别存放两个不同环境的配置数据
1.3 用官方提供的ApolloPortalDB.sql 创建apolloportaldb 数据库,用来存放portal数据

2. 下载安装包规划文件夹

sudo mkdir /opt/apollo-2.3.0
cd /opt/apollo-2.3.0

# 链接失效在github上下载
wget https://gh.ap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值