
天天
如果你经常为新功能上线而提心吊胆,或者想让产品迭代更灵活,那这篇文章绝对值得一读。
## 什么是 Unleash?
简单来说,Unleash 就是一个**功能开关管理平台**。想象一下,你家里的电灯开关,打开就亮,关闭就灭。Unleash 就是给你的代码功能装上这样的开关——你可以随时控制某个功能对哪些用户开放,而不需要重新发布代码。
比如你开发了一个新的支付功能,但不确定稳定性如何。用 Unleash,你可以先只对 10% 的用户开放,观察没问题后再逐步放开到 50%、100%。要是出问题了?一键关闭,立马回滚,不用熬夜改代码重新发布。
官方提供了 15+ 个 SDK,涵盖 Java、Node.js、Python、Go、.NET、React、Android、iOS 等主流技术栈。基本上你用什么语言,它都能支持。
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.liu.unleash
应用启动后,用以下账号登录:
- 用户名:`admin`
- 密码:`unleash4all`

## 实战教程:创建你的第一个功能开关
### 步骤 1:创建功能标记
登录后台后:
1. 点击 "Create feature flag"
2. 输入一个好记的名字,比如 `new-payment-feature`
3. 选择项目(默认的 default 项目就行)
4. 点击创建


在右侧可以看到 API 的用法

### 步骤 2:配置激活策略
这是 Unleash 的精髓所在!你可以设置各种条件来控制功能开放:


#### 灰度发布(最常用)
```
策略类型:Gradual Rollout
百分比:20%
```
这样只有 20% 的用户能看到新功能。

#### 定向发布
```
策略类型:UserWithId
用户 ID:user123, user456
```
只对特定用户开放,特别适合内测。

#### 按条件发布
比如只对使用 Chrome 浏览器的用户开放:
```
添加约束条件:
- 字段:browser
- 操作符:IN
- 值:chrome
```
### 步骤 3:在代码中使用


它会自动给出使用代码示例

在本地运行后可以看到链接成功

就这么简单!
在 playground 可以检测你的配置是否正确

## 进阶玩法
### A/B 测试
Unleash 支持功能变体(Variants),可以用来做 A/B 测试:
```javascript
const variant = unleash.getVariant('checkout-flow');
if (variant.name === 'version-a') {
// 显示 A 版本结账流程
} else if (variant.name === 'version-b') {
// 显示 B 版本结账流程
}
```
你可以给不同变体设置权重,比如 A 版本 50%,B 版本 50%,然后看哪个版本转化率更高。
### 多环境管理
Unleash 支持多环境配置,同一个功能在不同环境可以有不同的开关状态:
- 开发环境:全开
- 测试环境:开放给测试人员
- 生产环境:灰度 10%
### Kill Switch(紧急开关)
出问题了?一键关闭功能,瞬间止损:
1. 进入功能详情页
2. 点击环境旁边的开关
3. 关闭,完事!

不用改代码,不用重新部署,用户立即看不到有问题的功能。
## 总结
如果你还在用传统的方式发布功能——写代码、测试、上线、祈祷不出问题,建议试试 Unleash。相信我,用过之后你会感叹:原来功能发布可以这么简单!
记住核心理念:**部署 ≠ 发布**。代码可以随时部署,但功能要在合适的时候才发布给合适的用户。
祝大家都能愉快地管理功能发布,再也不用半夜紧急回滚了!
---
**相关资源:**
- [Unleash GitHub](https://github.com/Unleash/unleash)
- [官方文档](https://docs.getunleash.io/)
- [在线 Demo](https://www.getunleash.io/interactive-demo)
- [Slack 社区](https://slack.unleash.run)
评论
0暂无评论