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

    环境设置:

    1.1 Java     

          Apollo服务端:1.8+
          Apollo客户端:1.7+

    1.2 MySQL
         版本要求:5.6.5+
         Apollo的表结构对timestamp使用了多个default声明,所以需要5.6.5以上版本。

    1.3 下载Quick Start安装包

         https://github.com/nobodyiam/apollo-build-scripts

    解压后:

     

     

    2.1 创建数据库 :

    Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,

    数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。

    2.2 配置数据库连接信息 : 

    Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,

    修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。

    我本地这里的数据库链接端口是  3307   用户名密码 都是 root   其他配置先不要改

    下面的配置能看出Apollo集成了Eureka注册中心,config_server的地址就是eurek的地址。确保8080 8090 8070 这三个端口没有被占用。

    创建测试服务:

    在工程中引入依赖:

    <!-- https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-client -->
            <dependency>
                <groupId>com.ctrip.framework.apollo</groupId>
                <artifactId>apollo-client</artifactId>
                <version>1.7.0</version>
            </dependency>

    application.properties:

    server.port=18080
    
    app.id=ywtb
    
    spring.application.name=provider
    apollo.meta=http://(本机地址):8080
    apollo.bootstrap.enabled=true
    apollo.bootstrap.namespaces=application

    测试入口:

    @Controller
    public class TestController {
    
        @Value("${name}")
        private String data;
    
        @RequestMapping("/")
        public @ResponseBody
        String getApolloData(){
    
            System.out.println(data);
    
            return "拉取数据 --> : " + data;
        }
    }

     

    启动Apollo配置中心:

    经过git 执行脚本./demo.sh start 启动服务

     

    Apollo集成了Eureka注册中心,访问 localhost:8080 : 

    访问 localhost:8090 : 

    访问 localhost:8070  为 Apollo 登录页面 ,用户名 : apollo 密码 : admin 

     点进登录 :

    点击创建项目 :

    部门 在数据库自改,看下张图

    AppId 和 项目配置文件  app.id 保持一致 是唯一识别标志(切记不可以0开头,会被优化掉)

    应用名称可随便起

      部门列表修改 :

    点击提交之后多了一个模块

    点进 ywtb模块 :

    新增配置:

    进来就是 Key Value 格式  ,填好点击提交   

    看到控制台多一条配置 ,点击发布 ,

    状态变为  已发布....

    现在启动 项目  访问 

    控制台 和 页面 :

    1.灰度定义

    灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。

    2.Apollo实现的功能

    1)对于一些对程序有比较大影响的配置,可以先在一个或者多个实例生效,观察一段时间没问题后再全量发布配置。

    2)对于一些需要调优的配置参数,可以通过灰度发布功能来实现A/B测试。可以在不同的机器上应用不同的配置,不断调整、测评一段时间后找出较优的配置再全量发布配置。

    开启 灰度 发布 :

    看到增加了 灰度版本,点击新增灰度配置 

    换下 Value 值  :

     

     开到灰度版本状态为 未发布, 点击右上角 灰度发布 

    进入规则页面 :

    IP可以在列表选,也可以手动输入,点添加   点击确定 

    结果 :

    测试 :

    本地的代码打成jar包,在灰度IP对应的机器上 访问

  • 相关阅读:
    Java JDK在Mac下的配置方法
    Kubernetes 在知乎上的应用
    kubernetes 简介:kube-dns 和服务发现
    CNI:容器网络接口
    SkyDNS试用
    docker 跨主机网络:overlay 简介
    为什么Kubernetes不使用libnetwork
    libnetwork 源码浅析
    NVMe到底是什么?用它的SSD有啥优势?
    TUNING FOR ALL FLASH DEPLOYMENTS
  • 原文地址:https://www.cnblogs.com/lifan12589/p/14765634.html
Copyright © 2011-2022 走看看