{"id":28729814,"url":"https://github.com/didi/featureprobe","last_synced_at":"2025-06-15T17:11:12.056Z","repository":{"id":44432373,"uuid":"496224670","full_name":"didi/FeatureProbe","owner":"didi","description":"开源的高效可视化『功能』管理平台，提供灰度发布、AB实验、配置变更全功能。","archived":false,"fork":false,"pushed_at":"2023-03-24T11:45:16.000Z","size":13429,"stargazers_count":63,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-06-10T15:44:08.973Z","etag":null,"topics":["config-admin-ui","configuration","devops","feature-flags","feature-management","feature-toggles"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/didi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-05-25T12:38:23.000Z","updated_at":"2024-06-09T16:03:35.000Z","dependencies_parsed_at":"2024-01-26T03:11:42.235Z","dependency_job_id":null,"html_url":"https://github.com/didi/FeatureProbe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/didi/FeatureProbe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FFeatureProbe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FFeatureProbe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FFeatureProbe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FFeatureProbe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/didi","download_url":"https://codeload.github.com/didi/FeatureProbe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didi%2FFeatureProbe/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260016055,"owners_count":22946321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config-admin-ui","configuration","devops","feature-flags","feature-management","feature-toggles"],"created_at":"2025-06-15T17:11:07.612Z","updated_at":"2025-06-15T17:11:12.046Z","avatar_url":"https://github.com/didi.png","language":null,"readme":"# 注意：完整代码库请跳转到 [FeatureProbe](https://github.com/FeatureProbe)，本目录只包含部分文档\n\n![Feature Management Service, FeatureProbe](./pictures/featureprobe_title.png)\n\n[![Last Commit](https://img.shields.io/github/last-commit/FeatureProbe/FeatureProbe)](https://github.com/FeatureProbe/FeatureProbe)\n[![Last Release](https://img.shields.io/github/v/release/featureprobe/featureprobe)](https://github.com/FeatureProbe/FeatureProbe/releases)\n[![Docker Pulls](https://img.shields.io/docker/pulls/featureprobe/api)](https://hub.docker.com/u/featureprobe)\n[![Apache-2.0 license](https://img.shields.io/github/license/FeatureProbe/FeatureProbe)](https://github.com/FeatureProbe/FeatureProbe/blob/main/LICENSE)\n[![EN doc](https://img.shields.io/badge/Docs-English-blue.svg)](https://docs.featureprobe.io/)\n[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](https://docs.featureprobe.io/zh-CN/)\n\n\n# 💎 FeatureProbe\n\nFeatureProbe 是一个开源的 **『特性』管理** 服务。它包含灰度放量、AB实验、实时配置变更等针对『特性粒度』的一系列管理操作。这里的『特性』包含业务功能、技术改造、运营活动等任何涉及代码开发的『特性』。它可以让开发人员、运营人员、运维人员安全、高效的完成线上变更，同时精细控制变更风险。『特性』粒度的发布管理是实现DevOps的核心工具之一，通过『特性』开关，可以降低分支开发带来的合并复杂性，轻松实现主干开发以及持续交付。\n\n『特性』粒度开关管理服务已经是各个互联网大厂的标配平台，我们将互联网大厂内部『特性』开关管理平台的优秀实践与经验融入这个开源项目中。希望推广**特性管理**理念和实践在软件开发社区的普及，携手开源社区，提升软件开发行业的效能。\n\n## 📚 [文档服务](https://docs.featureprobe.io/zh-CN/)\n\n我们提供一个独立的文档服务，最新的文档将会更新在[这里](https://docs.featureprobe.io/zh-CN/)\n\n## 🚀 FeatureProbe适用于哪些场景\n\n根据我们的经验，FeatureProbe可以在以下场景中提升软件研发的效能:\n\n1. **『特性粒度』灰度发布**:\n每个功能独立灰度发布给用户。可迅速关闭受BUG影响的功能，同时不影响其他正常功能的使用。\n3. **降低测试环境搭建成本**:\n节约测试环境搭建和线下测试时间成本。利用线上环境小流量测试，环境真实同时影响可控。\n2. **降低故障恢复时间**:故障发生时通过降级策略调整服务行为，保障用户主路径不受影响。\n3. **简化研发协同方式**: \n用功能开关替代传统分支开发的团队协同模式。真正实现主干开发、持续部署。减少分支合并冲突，显著加快迭代速度。\n4. **统一的配置管理中心**:\n通过用户友好的操作页面，统一操作线上配置，实时修改功能参数，让运营活动生效更简单。\n6. **更多的使用场景!** \n期待大家与我们一起去发现与尝试。\n\n## 🔎 FeatureProbe功能预览\n\n* 开关管理\n![FeatureProbe screenshot](./pictures/toggles_cn.png) \n\n* 目标流量设置\n![targeting](./pictures/targeting_cn.png)\n\n* 流量监测\n![traffic](./pictures/evaluations_cn.png)\n\n* 指标分析\n![metric](./pictures/metric_config_cn.png)\n![metric](./pictures/metric_cn.png)\n\n\n# 🧩 FeatureProbe的技术架构\n\nFeatureProbe 的总体架构如下图所示：\n\n![FeatureProbe Architecture](./pictures/feature_probe_architecture.png)\n\n* 特性管理平台\n   * 前端: [Admin UI](https://github.com/FeatureProbe/FeatureProbe/tree/main/ui)，提供用户操作页面\n   * 后端: [API](https://github.com/FeatureProbe/FeatureProbe/tree/main/api)，提供核心数据管理和对外API。\n\n* FeatureProbe [Server](https://github.com/FeatureProbe/FeatureProbe/tree/main/server)处理SDK的链接，提供高性能的规则判定引擎。\n\n* 各语言SDK\n   * [Client-Side SDKs](#client-side-sdk)\n   * [Server-Side SDKs](#server-side-sdk)\n\n# 🍭 2步体验FeatureProbe\n\n## 1️⃣ 启动FeatureProbe核心服务\n\n1. 我们提供一个在线的FeatureProbe体验核心服务[FeatureProbe](https://featureprobe.io)，您可以直接访问，省去自己部署服务的步骤。\n\n2. 您也可以在自己服务器使用docker composer来部署一套自己的FeatureProbe服务：详见[教程](https://docs.featureprobe.io/zh-CN/tutorials/setup_own_env)\n\n## 2️⃣ 在你自己服务代码中调用FeatureProbe SDK\n\n在您App的代码中引入FeatureProbe的SDK，并通过类似以下的代码访问在FeatureProbe平台上创建的开关\n\n~~~ java\nif (fpClient.boolValue(YOUR_TOGGLE_KEY, user, false)) {\n  // Do some new thing;\n} else {\n  // Do the default thing;\n}\n~~~\n\n我们提供如下语言的SDK：\n\n### \u003ca name=\"server-side-sdk\"\u003e\u003c/a\u003e 💻 **服务端SDK**\n\n* [Java SDK](https://github.com/FeatureProbe/server-sdk-java)\n* [Rust SDK](https://github.com/FeatureProbe/server-sdk-rust)\n* [Golang SDK](https://github.com/FeatureProbe/server-sdk-go)\n* [Python SDK](https://github.com/FeatureProbe/server-sdk-python) by [@HeZean](https://github.com/HeZean)\n* [Node.js SDK](https://github.com/FeatureProbe/server-sdk-node) by [@HeZean](https://github.com/HeZean)\n\n\n### \u003ca name=\"client-side-sdk\"\u003e\u003c/a\u003e 📲 **客户端SDK**\n\n* [Javascript SDK](https://github.com/FeatureProbe/client-sdk-js)\n* [Android SDK](https://github.com/FeatureProbe/client-sdk-mobile)\n* [iOS SDK](https://github.com/FeatureProbe/client-sdk-mobile)\n* [Mini Program SDK](https://github.com/featureprobe/client-sdk-miniprogram)\n* [React SDK](https://github.com/featureprobe/client-sdk-react)\n\n各语言SDK都提供example目录和代码，可以直接运行example代码来体验FeatureProbe平台与SDK的交互。\n\n\u003e 我们提供了一个受FeatureProbe控制的模拟网站应用（通过使用JS SDK）。你可以在线体验通过FeatureProbe控制网站应用的展示。见[教程](https://docs.featureprobe.io/zh-CN/tutorials/try_demo/)\n\n# 🙌 Contributing\n\n我们仍在不断迭代，为FeatureProbe补充更多的功能，以便适应更多的使用场景和用户需求。开发活动会基于github的代码库持续发布。欢迎开源社区的朋友加入我们，提需求、报bug、参与社区讨论、提交PR都可以。\n\n可以在[project](https://github.com/orgs/FeatureProbe/projects/2)看到我们的迭代计划。\n\nPlease read [CONTRIBUTING](CONTRIBUTING.md) for details on our code of conduct, and the process for \ntaking part in improving FeatureProbe.\n\n\n# 📜 License\n\nThis project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.\n\n\n# 🌈 Community and Sharing\n\n🍻 我们搭建了一个微信社区，帮助新朋友尽快了解FeatureProbe，新老朋友们也可以在社区一起讨论关于特性管理(Feature Management)相关的任何话题. 扫描以下二维码加入我们。\n\n\u003cimg src=\"https://github.com/featureprobe/FeatureProbe/raw/main/pictures/Wechat0715.png\" width = \"250\" /\u003e\n\n\n🙋 如果想上报BUG，或者贡献代码，请使用Github的Issue和PR功能： [GitHub issue](https://github.com/FeatureProbe/FeatureProbe/issues/new/choose) \n\n\n# 🎢 Star History\n\n如果FeatureProbe能帮到您，请⭐️star我们~\n\n[![Star History Chart](https://api.star-history.com/svg?repos=FeatureProbe/FeatureProbe\u0026type=Date)](https://star-history.com/#FeatureProbe/FeatureProbe\u0026Date)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidi%2Ffeatureprobe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdidi%2Ffeatureprobe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidi%2Ffeatureprobe/lists"}