• 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对应的机器上 访问

  • 相关阅读:
    LeetCode 842. Split Array into Fibonacci Sequence
    LeetCode 1087. Brace Expansion
    LeetCode 1219. Path with Maximum Gold
    LeetCode 1079. Letter Tile Possibilities
    LeetCode 1049. Last Stone Weight II
    LeetCode 1046. Last Stone Weight
    LeetCode 1139. Largest 1-Bordered Square
    LeetCode 764. Largest Plus Sign
    LeetCode 1105. Filling Bookcase Shelves
    LeetCode 1027. Longest Arithmetic Sequence
  • 原文地址:https://www.cnblogs.com/lifan12589/p/14765634.html
Copyright © 2020-2023  润新知