apollo介绍

apollo github地址:https://github.com/ctripcorp/apollo

apollo创建公共的namespace_云计算

apollo快速搭建(docker)

使用官方给出的 部署方式就可以快速的进行搭建学习了
https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-Start-Docker%E9%83%A8%E7%BD%B2

apollo多个环境搭建步骤(部署包)

主要记录一下在一个机器上模拟搭建多个环境进行学习或者测试工作。(生产环境不同环境肯定需要安装在不同的服务器上并做数据备份)
(用1.6.x+ 版本)

1. 先安装数据库并初始化脚本

step1: 安装数据库 5.6.5+ 以上版本
使用yum方式安装mysql比较方便
step2: 初始化脚本
apollo初始化脚本方法地址

apolloconfigdb.sql  进行source初始化
apolloportaldb.sql   进行source初始化

重命名 apolloconfigdb.sql --> apolloconfigdb1.sql
并把数据库文件内容的数据库修改为1后缀(用于后面模拟另一个环境所需)

CREATE DATABASE IF NOT EXISTS ApolloConfigDB1 DEFAULT CHARACTER SET = utf8mb4;
 Use ApolloConfigDB1;
注意记住 数据库的连接方式 ip+port , username,password 
 可以使用mysql -h数据库ip -u用户名 -p密码 -P端口  进行检查一下是否正常

2. 下载所需安装包

在此页面下载https://github.com/ctripcorp/apollo/releases

需要下载三个包“adminservice,configservice,portal”
下载完成后,放置到部署机器上的某个目录下

3. 配置安装包并启动

比如我需要模拟2个环境(dev,sit)

因为不同环境是需要有不同的metaserver的(configservice,adminservice 需要被单独运行)
接下来就是准备在一个机器上安装1个portal + 2个adminservice+2个 configservice

环境

服务名

安装所需的数据库

服务启动端口

dev

adminservice

ApolloConfigDB

8090

dev

configservice

ApolloConfigDB

8080

sit

adminservice

ApolloConfigDB1

18090

sit

configservice

ApolloConfigDB1

18080

无环境概念

portal

ApolloPortalDB

8070


可以创建apollo/dev目录存放admin,config的zip解压文件内容

  • adminservice

修改conf内容 (把adminservice解压到某个目录,修改config目录下的application-github.properties内容)

jdbc数据库地址填写自己对于的数据库地址    
数据库填写ApolloConfigDB   
输入正确的账户和密码

apollo创建公共的namespace_数据库_02

  • configservice
    参照adminservice修改dev环境的configservice内容
    填写正确的数据库相关信息
  • 启动dev环境
    分别进入到adminservice,configservice进行启动scripts/startup.sh

  • adminservice
    修改conf内容 (把adminservice解压到某个目录,修改config目录下的application-github.properties内容)
jdbc数据库地址填写自己对于的数据库地址
 数据库填写ApolloConfigDB1
 输入正确的账户和密码
  • configservice
    参照adminservice修改dev环境的configservice内容
    填写正确的数据库相关信息 (ApolloConfigDB1)
  • 启动sit环境
    启动前需要修改 服务的监听端口(adminservice–18090,configservice–18070)
    可以在启动脚本中,增加一行SERVER_PORT=你的端口 (放在红框上面位置)

    当admin,config端口都改好之后进行下一步启动
    分别进入到 sit的 adminservice,configservice解压目录进行启动scripts/startup.sh
此时访问  你服务器ip:8080 ,  你的服务器ip:18080应该都可以看到成功访问了

4. 修改数据库参数

修改了模拟的sit环境信息后,需要去数据库修改信息

apollo创建公共的namespace_数据库_03


比如

  • sit的 Apollo ConfigDB1 数据库需要修改ServerConifg表
  • dev 的Apollo ConfigDB 数据库需修改ServerConifg表的eureka.service.url为 你的ip:8080

5. 安装portal并启动
解压好portal包后,进行数据库的连接信息修改,再启动服务即可
访问 你机器ip:8070 默认账户 apollo ,密码 admin

  • 修改portal参数
    portal :
    apollo.portal.envs
    apollo.portal.meta.servers
  • apollo.portal.envs

apollo创建公共的namespace_数据库_04

  • apollo.portal.meta.servers
    如果不是1.7.版本,则可能需要自己手动插入这个值
INSERT INTO `ApolloPortalDB`.`ServerConfig` (`Id`, `Key`, `Value`, `Comment`, `IsDeleted`, `DataChange_CreatedBy`, `DataChange_CreatedTime`, `DataChange_LastModifiedBy`, `DataChange_LastTime`) VALUES ('8', 'apollo.portal.meta.servers', '{\"dev\":\"http://你的机器ip:8080\",\"sit\":\"http://你的机器ip:18080\"}', '各环境Meta Service列表', '\0', 'default', '2020-10-13 16:00:16', 'apollo', '2020-10-15 09:08:05');

apollo创建公共的namespace_云计算_05


查看一下修改的值是否ok (如果不行就重启一下portal服务试试)

apollo创建公共的namespace_云计算_06

6. .重启整个服务并检查环境

修改后,重启所有admin,config 服务 ; 重启portal服务

再登录页面检查

可能需要等待几分钟

出现2个环境,每个环境都有各自的metaserver地址了

apollo创建公共的namespace_github_07

apollo多个环境搭建步骤 (docker)

待更新

基本使用

可以去创建项目appid,集群,命名空间了
使用指南:https://github.com/ctripcorp/apollo/wiki/Apollo%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97

其他客户端,http请求获取值:
https://github.com/ctripcorp/apollo/wiki/%E5%85%B6%E5%AE%83%E8%AF%AD%E8%A8%80%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97