apollo 部署 使用

github 官方地址

https://github.com/ctripcorp/apollo

分布式部署

https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97

kubernetes部署

https://github.com/ctripcorp/apollo/blob/master/scripts/apollo-on-kubernetes/README.md

部署,先将db下面的sql 在mysql中执行,创建了database

Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可

部署configservice
部署admin
部署portal

注意:记得修改模块连接mysql的账号密码

模块说明

程序接口名称及功能说明

名称 功能说明 接口服务对象
Portal 提供Web界面供用户管理配置 配置管理员
Admin Service 提供配置管理接口 Portal
Config Service 提供配置获取接口 Apollo客户端程序
Eureka Config Service和Admin Service会向Eureka注册服务,并保持心跳 Config和Admin
Meta Server Meta Server从Eureka获取Config Service和Admin Service的服务信息 Portal和Client

Meta Server和Config Service是在一个JVM进程中
Eureka和Config Service是在一个JVM进程中

部署分布说明

  • Portal单独使用 ApolloPortalDB 库,可以独立部署

  • Config ServiceAdmin Service共用 ApolloConfigDB 库,建议部署至同一台服务器。

  • Portal部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置

  • Config ServiceAdmin Service在每个环境都独立部署,使用独立的数据库(提供给相对应环境的客户端程序调用配置接口)

部分参考:https://www.cnblogs.com/taoyuxuan/p/11585398.html

默认支持环境说明

名称 说明
DEV 开发环境
FAT 测试环境,相当于alpha环境(功能测试)
UAT 集成环境,相当于beta环境(回归测试)
PRO 生产环境

web操作

打开 service-apollo-portal-server的service地址106.12.25.204:8070

账号/密码:apollo/admin

创建项目以后,新增配置,发布,就可以了

python 客户端接入

参考: github官方http接入地址

1.3.1 Http接口说明

URL: {config_server_url}/configs/{appId}/{clusterName}/{namespaceName}?releaseKey={releaseKey}&ip={clientIp}

Method: GET

1.3.2 Http接口返回格式

该Http接口返回的是JSON格式、UTF-8编码。

如果配置没有变化(传入的releaseKey和服务端的相等),则返回HttpStatus 304,response body为空。

如果配置有变化,则会返回HttpStatus 200,response body为对应namespace的meta信息以及其中所有的配置项。

返回内容Sample如下:

{
  "appId": "100004458",
  "cluster": "default",
  "namespaceName": "application",
  "configurations": {
    "portal.elastic.document.type":"biz",
    "portal.elastic.cluster.name":"hermes-es-fws"
  },
  "releaseKey": "20170430092936-dee2d58e74515ff3"
}

你可能感兴趣的:(apollo 部署 使用)