ZPY博客

Apollo发布配置后回滚后再发布不生效

今天用Apollo时发现一个bug,比如timeout值我设成了200后点发布,然后再修改成300后再发布,此时我点回滚,回滚到了200,发布后前台取到的值还是300。。。

这看起来是一个严重的bug啊,但是这么多企业用Apollo,不可能连这么明显的bug都不修复吧,于是我到github官方的issue里看了下,发现很多人在问这个问题。。仔细研究了下,没有bug,只是apollo的回滚的设计理念不同。

引用下官方人员的回答:

设计即是如此。

打个比方,编辑状态的配置就是git仓库里面的代码,发布出去的是你的代码包,比如war包。

部署到机器上的是war包,回滚的也是war包。

但是你git仓库里面的代码我们是不会回滚的,稍作修改后可以重新发布。

配置并不会当前正在编辑的配置。只是会发布的配置到上一个版本。 类似于应用的,也是的发布包,并不会源码一样。

我后来试了下,发现点回滚后不点发布,前台访问的就是回滚后的值。。上面官方说的应该比较清楚了,这里回滚的并不是你的代码,所以界面上的值是不会变的,回滚的只是发布的版本。所以如果点发布的话,就将界面上显示的值发布了,就会觉得值没有改变。