Unleash 使用指南:让功能发布变得轻松自如

9 months ago

如果你经常为新功能上线而提心吊胆,或者想让产品迭代更灵活,那这篇文章绝对值得一读。

什么是 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

image.png

实战教程:创建你的第一个功能开关

步骤 1:创建功能标记

登录后台后:

  1. 点击 "Create feature flag"
  2. 输入一个好记的名字,比如 new-payment-feature
  3. 选择项目(默认的 default 项目就行)
  4. 点击创建

image.png

image.png 在右侧可以看到 API 的用法

image.png

步骤 2:配置激活策略

这是 Unleash 的精髓所在!你可以设置各种条件来控制功能开放:

image.png

image.png

灰度发布(最常用)

策略类型:Gradual Rollout
百分比:20%

这样只有 20% 的用户能看到新功能。

image.png

定向发布

策略类型:UserWithId
用户 ID:user123, user456

只对特定用户开放,特别适合内测。

image.png

按条件发布

比如只对使用 Chrome 浏览器的用户开放:

添加约束条件:
- 字段:browser
- 操作符:IN
- 值:chrome

步骤 3:在代码中使用

image.png

image.png

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

image.png

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

image.png

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

image.png

进阶玩法

A/B 测试

Unleash 支持功能变体(Variants),可以用来做 A/B 测试:

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. 关闭,完事!

image.png 不用改代码,不用重新部署,用户立即看不到有问题的功能。

总结

如果你还在用传统的方式发布功能——写代码、测试、上线、祈祷不出问题,建议试试 Unleash。相信我,用过之后你会感叹:原来功能发布可以这么简单!

记住核心理念:部署 ≠ 发布。代码可以随时部署,但功能要在合适的时候才发布给合适的用户。

祝大家都能愉快地管理功能发布,再也不用半夜紧急回滚了!


相关资源:

作者
天天