背景
互联网产品的特点:用户规模大、版本更新频繁。新版本的每次上线,产品都要承受极大的压力。所以产品在新功能发布前,可能会采取小流量测试的方式(灰度发布),或者在确定具体方案前使用A/Bn测试来实验多个版本。实际问题是,如何在快速迭代中保证产品质量,如何在快速试错的同时尽量避免不诚实的产品影响到实际用户呢?现有的解决方案一般是开发同学会跟运维同学深度合作,通过一些现有平台切换机器或者流量来实现。本文会介绍一种简便的方式,并解释了其在敏捷开发,快速迭代中的实际应用。
Feature Flag
Feature Flag(又名 Feature Toggle、Flipper、Switch等等)是产品开发过程中可以远程开启或关闭新功能且不需要重新部署产品的方法。在Feature Flag支持下,新功能甚至可以在没有完全完成的情况下就进行部署,也不会影响用户的正常使用。Feature Flag有助于将开发,部署,发布脱钩,让产品经理去管理一个功能的整个生命周期成为可能。
谁会需要Feature Flag
咋一看Feature Flag是开发团队专用的技术,但必须强调一点,Fea