GitHub: https://github.com/FeatureProbe/FeatureProbe
文档地址: https://docs.featureprobe.io/zh-CN/
在线体验环境: https://featureprobe.io/
项目背景
这个项目是基于 feature flags 技术开源项目,feature flags 坦白说也不算什么新技术了,在公司内也已经实践好几年了,当前互联网公司大厂都在使用这项技术做 AB 实验、功能灰度等。国外有比较一些成熟的 SaaS 平台例如 launchdarkly 、flagsmith 等,但国内很少有基于 feature flags 的开源项目。
若大家对这个技术有兴趣的可以了解一下。
项目所解决的问题
1 、复杂功能的逐步发布
当开发一个复杂的功能时,传统的开发方式可能需要等到功能完全开发完成后才能进行发布。这可能导致较长的开发周期和较高的风险。使用 feature flags ,可以将功能分成较小的模块,并逐步在应用程序中启用。这样可以减少开发风险,更快地将功能交付给用户。
2 、风险管理和回滚
在传统的开发流程中,如果新功能引入了问题或用户反馈不佳,可能需要回退整个应用程序版本或进行紧急修复。使用 feature flags ,可以轻松禁用有问题的功能,而无需进行整个回退操作。这样可以更好地管理风险,并在修复问题后再次启用功能。
3 、A/B 测试和功能评估
通过使用 feature flags ,可以将不同的功能变体分配给不同的用户群体,进行 A/B 测试。这样可以评估不同功能的表现和用户反馈,以确定最佳方案。
4 、动态配置和个性化
使用 feature flags ,可以在应用程序中动态配置功能行为。这使得可以根据特定用户、地理位置或其他条件来启用或禁用功能,从而实现个性化体验。
5 、版本管理和持续交付
feature flags 提供了更好的版本控制和管理机制。开发团队可以使用 feature flags 来管理不同版本之间的功能差异,同时保持应用程序的稳定性和可维护性。有助于实现持续交付和快速迭代的开发流程。
一些界面
开关管理:
流量监测:
指标分析: