zoukankan      html  css  js  c++  java
  • 【Apollo

    目录

    • Apollo 概述
      • 概述
      • 核心功能
      • 模块介绍
        • apollo-portal
        • apollo-configservice
        • apollp-adminservice
    • Apollo 下载、安装
      • GitHub 下载
      • Apollo-potal 安装
      • Apollo-configservice 安装
      • Apollo-adminservice 安装

    Apollo 概述

    概述

    Apollo 算国内开源中间件,文档完善程度最好的产品,可能唯一能够比肩的只有 Dubbo 的文档了。
    《Apollo 设计文档 —— Home》
    【芋道源码】- Apollo

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

    服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。

    Java 客户端不依赖任何框架,能够运行于所有 Java 运行时环境,同时对 Spring/Spring Boot 环境也有额外支持。

    .Net 客户端不依赖任何框架,能够运行于所有 .Net 运行时环境。

    核心功能
    • 统一管理不同环境、不同集群的配置
    • 配置修改实时生效(热发布)
    • 版本发布管理
    • 灰度发布
    • 权限管理、发布审核、操作审计
    • 客户端配置信息监控
    • 提供 Java 和 .Net 原生客户端
    • 提供开放平台 API
    • 部署简单
    模块介绍
    • 单机部署图

    单机部署

    • Apollo-configservice: 提供配置的读取、推送等功能,服务对象是 Apollo 客户端。

    • Apollo-adminservice: 提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)。
      为什么 Config Service 和 Admin Service 分离呢?在图中,我们可以看到 Config Service 和 Admin Service 读取的是相同的 ApolloPortalDB 数据库,理论上来说可以做成一个服务。

    不过 Admin Service 因为需要不断开发 API 接口提供给 Apollo Portal,因此可能会不定期重启。而 Config Service 功能比较单纯,基本不会有太多更新,因此基本不太会重启。所以,将 Admin Service 和 Config Service 拆分成两个服务。

    • Apollo-portal : Apollo 的管理界面,进行配置想丢该,服务对象是开发者和 开放平台 API。
      为什么 Admin Service 和 Portal 分离呢?在 Apollo 的设计中,不同的 DEV、FAT、UAT、PROD 环境,会部署在不同的网络环境下,进行隔离。

    因此,每个环境会部署一套 Admin Service + Config Service。而 Portal 通过调用不同环境部署的 Admin Service 提供的 API 接口,进行不同环境的配置管理。

    另外,权限管理、开放平台 API 都是由 Portal 统一实现来提供的。

    Apollo 下载、安装

    • GitHub 下载

    • GitHub 下载缓慢解决方案

      • 解析GitHub域名IP【域名解析站点】
      • 域名包括(github.com、github.global.ssl.fastly.net、codeload.github.com、raw.githubusercontent.com)
      • 将GitHub相关IP写入到 /etc/hosts
      • 重启网络 /etc/init.d/network restart
    • 下载、安装

      # 创建目录
      $ mkdir -p /vision/workspace/apollo
      $ cd /vision/workspace/apollo
      
      # 下载
      $ wget https://github.com/ctripcorp/apollo/releases/download/v1.5.0/apollo-portal-1.5.0-github.zip
      $ wget https://github.com/ctripcorp/apollo/releases/download/v1.5.0/apollo-adminservice-1.5.0-github.zip
      $ wget https://github.com/ctripcorp/apollo/releases/download/v1.5.0/apollo-configservice-1.5.0-github.zip
      $ wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/sql/apolloportaldb.sql
      $ wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/sql/apolloconfigdb.sql
      
      # 解压apollo-portal
      $ unzip apollo-portal-1.5.0-github.zip -d apollo-portal
      # 解压apollo-adminservice
      $ unzip apollo-adminservice-1.5.0-github.zip -d apollo-adminservice
      # 解压apollo-configservice
      $ unzip apollo-configservice-1.5.0-github.zip -d apollo-configservice
      
      # 建立软链接(非必须, 习惯而已)
      $ mkdir -p /vision/soft
      $ cd /vision/soft
      $ ln -s /vision/workspace/apollo/apollo-portal apollo-portal
      $ ln -s /vision/workspace/apollo/apollo-adminservice apollo-adminservice
      $ ln -s /vision/workspace/apollo/apollo-configservice apollo-configservice
      
      # 初始化数据库
      $ mysql -uroot -p
      $ mysql> source /vision/workspace/apollo/apollo-portal-init-db.sql
      $ mysql> source /vision/workspace/apollo/apollo-config-init-db.sql
      
      • Apollo-portal 启动

        • 修改数据库连接 vi /vision/soft/apollo-portal/config/application-github.properties 注意数据库是ApolloPortalDB

        • 修改Apollo环境 vi /vision/soft/apollo-portal/config/apollo-env.propertiesdev_meta修改为 http://localhost:8080

        • 启动Apollo-portal sh /vision/soft/apollo-portal/scripts/startup.sh

        • 访问Portal服务 http://localhost:8070 帐户密码: apollo/admin

      • Apollo-configservice启动

        • 修改数据库连接 vi /vision/soft/apollo-configservice/config/application-github.properties 注意数据库是ApolloConfigDB
        • 启动Apollo-configservice服务 sh /vision/soft/apollo-configservice/scripts/startup.sh
        • 访问configservice(Meta Service) 服务 http://localhost:8080已经注册到eureka
      • Apollo-adminservice启动

        • 修改数据库连接 vi /vision/soft/apollo-adminservice/config/application-github.properties 注意数据库是ApolloConfigDB
        • 启动Apollo-adminservice服务 sh /vision/soft/apollo-adminservice/scripts/startup.sh
        • 访问configservice(Meta Service) 服务 http://localhost:8080已经注册到eureka
  • 相关阅读:
    hdu 5723 Abandoned country 最小生成树 期望
    OpenJ_POJ C16G Challenge Your Template 迪杰斯特拉
    OpenJ_POJ C16D Extracurricular Sports 打表找规律
    OpenJ_POJ C16B Robot Game 打表找规律
    CCCC 成都信息工程大学游记
    UVALive 6893 The Big Painting hash
    UVALive 6889 City Park 并查集
    UVALive 6888 Ricochet Robots bfs
    UVALive 6886 Golf Bot FFT
    UVALive 6885 Flowery Trails 最短路
  • 原文地址:https://www.cnblogs.com/vision82/p/12925902.html
Copyright © 2011-2022 走看看