0
点赞
收藏
分享

微信扫一扫

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在每个环境都独立部署,使用独立的数据库(提供给相对应环境的客户端程序调用配置接口)

默认支持环境说明

名称

说明

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"
}


举报

相关推荐

0 条评论