基于 Apollo 实现配置灰度发布(下)

简介: 基于 Apollo 实现配置灰度发布(下)

3、apollo连接测试

在工程中写一个接口,测试一下是否能从apollo上面读取到配置,测试读取一下下面这个配置

@Value("${uyun:default}")
private String uyunname;
@GetMapping("/getUyunName")
public String getUyunName(){
    return uyunname;
}

启动项目,浏览器访问一下该接口,可以看到能成功访问到apollo,说明与apollo的整合完毕

如何解决本文开篇谈到的使用apollo实现配置文件的灰度发布呢?回到apollo,我们注意到这里有个“灰度”按钮

这是什么意思呢?简单理解就是,使用这个灰度按钮的功能,可以对当前的配置文件进行一份拷贝,类似备份,同时我们可以对灰度的配置进行添加,修改,删除等操作,而灰度文件的修改不会影响到主配置文件,下面我们对 "dubbo"这个配置文件做一下灰度的配置吧

点击“灰度”

可以看到,灰度创建的内容是对主配置文件的全量拷贝,当然灰度配置也需要像主配置文件那样进行发布之后才能使用的,点击发布,弹出一个需要我们设置灰度规则的框

简单解释下,既然是灰度发布的配置文件,自然不能让所有的客户端访问到,这里apollo提供了几种配置规则方式,这里我选择了直接配置IP的方式,将本机的IP填进去,然后保存,再次发布即可

这个规则的含义就是,当前dubbo的这个灰度配置文件,只能允许我的本机IP进行访问,接下来就让我们做一下验证吧

4、灰度配置测试

在工程中新增一个接口,同时给灰度配置文件中新增2个配置

@Value("${name:default}")
  private String uname;
  @Value("${age:default}")
  private String age;
  @GetMapping("/getUyunName")
  public String getUyunName(){
      return uyunname;
  }

将本机的其中一个项目启动,访问新增的这个接口,可以发现,能够成功访问到灰度文件中的配置信息

为了验证灰度的功能,我们将项目打成jar包,部署到服务器上,服务器的IP不在灰度配置列表中,理论上是无法访问到 age 这个新增的配置的

成功启动后,浏览器直接访问云服务器上面的这个接口,这时,可以发现,同样的接口,由于IP未配置在灰度规则中,将无法读取到age这个配置的值

踩坑提醒

如果使用的是阿里云或者其他云服务器部署apollo的时候,本地项目连接apollo的时候会一直报apollo的连接超时问题,这个问题的解决办法是,在启动的配置vm中,添加如下参数即可

-Dapollo.configService=http://apollo部署的主机IP:8080



相关文章
|
2月前
|
监控 Java 测试技术
Nacos 配置中心变更利器:自定义标签灰度
本文是对 MSE Nacos 应用自定义标签灰度的功能介绍,欢迎大家升级版本进行试用。
|
5月前
|
Kubernetes 监控 测试技术
在K8S中,如何实现金丝雀发布(灰度发布)?蓝绿发布?
在K8S中,如何实现金丝雀发布(灰度发布)?蓝绿发布?
|
8月前
|
应用服务中间件 测试技术 nginx
金丝雀发布(灰度发布)介绍 及 声明式管理方法简介
金丝雀发布(灰度发布)介绍 及 声明式管理方法简介
|
8月前
|
负载均衡 Nacos 数据库
【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置
【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置
213 1
|
Cloud Native 前端开发 测试技术
MSE微服务引擎中我想实现灰度发布,怎么来实现灰度发布流量控制
MSE微服务引擎中我想实现灰度发布,怎么来实现灰度发布流量控制?
126 1
|
Java 测试技术 Nacos
Nacos 如何实现生产环境中的灰度配置?
Nacos 如何实现生产环境中的灰度配置?
Nacos 如何实现生产环境中的灰度配置?
|
SQL JavaScript Dubbo
基于 Apollo 实现配置灰度发布(上)
基于 Apollo 实现配置灰度发布(上)
|
存储 Java 关系型数据库
Nacos、Apollo、Config配置中心如何选型?这10个维度告诉你
Nacos、Apollo、Config配置中心如何选型?这10个维度告诉你
|
消息中间件 Dubbo Java
Nacos 2.2 正式发布,这次更新太炸了!
Nacos 2.2 正式发布,这次更新太炸了!
193 0
|
Java 中间件 测试技术
全链路灰度新功能:MSE上线配置标签推送
微服务场景下,全链路灰度作为一种低成本的新功能验证方式,得到了越来越广泛的应用。除了微服务实例和流量的灰度,微服务应用中的配置项也应该具备相应的灰度能力,以应对灰度应用对特殊配置的诉求。
全链路灰度新功能:MSE上线配置标签推送

热门文章

最新文章