zoukankan      html  css  js  c++  java
  • Apollo配置中心

    一、简介

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

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

    目前支持一下客户端:Java客户端不依赖任何框架,能够运行于所有Java运行环境,同事对Spring/Spring Boot环境也有较好的支持。.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。

    Apollo更多介绍:https://github.com/ctripcorp/apollo。

    Apollo支持4个维度管理Key-Value格式的配置:

    1. application (应用)
    2. environment (环境)
    3. cluster (集群)
    4. namespace (命名空间)

    Apollo的优势还可以通过与Spring Cloud Config对比来体现出:

    二、Apollo工作流程图

    四、环境搭建

    4.1、搭建前提

    环境搭建也是参考官网的环境搭建,我们在搭建apollo配置中心的时候选择一个合适的版本,在 官网 的 Relase  Notes中:版本发布历史,官方推荐,我们选择源码编译安装:

    4.2、上传apollo客户端至nexus私服仓库

    说明:这个客户端是开发那边编译打包的时候需要依赖的jar包,不然怎么知道我需要下载哪里的配置文件

    apollo-1.2.0.pom
    apollo-client-1.2.0.jar
    apollo-core-1.2.0.jar
    

    1. apollo-1.2.0.pom的坐标为:

    <dependency>
      <groupId>com.ctrip.framework.apollo</groupId>
      <artifactId>apollo</artifactId>
      <version>1.2.0</version>
      <type>pom</type>
    </dependency>
    

    2.apollo-client.jar坐标为:

    <dependency>
      <groupId>com.ctrip.framework.apollo</groupId>
      <artifactId>apollo-client</artifactId>
      <version>1.2.0</version>
    </dependency>
    

    3.apollo-core.jar坐标为:

    <dependency>
      <groupId>com.ctrip.framework.apollo</groupId>
      <artifactId>apollo-core</artifactId>
      <version>1.2.0</version>
    </dependency>
    

    这些在我们的源码包里面分别存在于:

     但是在编译之前先要增加apollo-env.properties文件,在client和core中:

    C:Users3Desktopapollo-1.2.0apollo-coresrcmain
    esourcesapollo-env.properties
    

    apollo-env.properties的内容如下:各个环境配置的地址。

    dev.meta=http://192.168.202.218:18080
    fat.meta=http://192.168.202.219:18080
    uat.meta=http://192.168.202.220:18080
    pro.meta=http://192.168.202.221:18080

     然后在C:Users3Desktopapollo-1.2.0scripts 下执行:

    .uild.bat 

    编译好之后,上传至nexus上就可以了。

    4.3、java客户端使用

    在启动Spring Boot的java文件中添加注解:

    @EnableApolloConfig
    

    通过@Value注解即可获取到值 或者 可以以类的方式作为bean加载入Spring,例如

     @EnableApolloConfig
     @Configuration
     Class A {
    
         @Bean
         public getB() {
             return new B();
         }
     }
    
     Class B {
     
         private int x;
    
         public void setX(int x) {
             this.x = x;
         }
    
         public int getX() {
             return this.x;
         }
     }
    

    说明:其他的配置信息,请看官网(https://github.com/ctripcorp/apollo)下:Deployment -> 分布式部署指南

  • 相关阅读:
    二,redis常用的数据类型--list
    一,redis常用的数据类型--String
    redis连接超时--Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host xxxxx:6379
    Contos 7.5下搭建elasticsearch-7.6.2
    java List中相同的数据合并到一起
    booststrap select2的应用总结
    jquery和bootstrap获取checkbox选中的多行数据
    哈利法克斯(Halifax),布里格斯(Briggs)计算对数的方法-1620年
    Opencv实现频域理想滤波器
    CIELab颜色模型概述
  • 原文地址:https://www.cnblogs.com/zhangqigao/p/13889079.html
Copyright © 2011-2022 走看看