OpenAI ★★ Frequent Medium FlagsConfigEventual Consistency

O28 · Design a Feature-Flag Platform O28 · 设计特性开关平台

Verified source经核实出处

Classic SD question adapted at OpenAI onsites (一亩三分地, 2025). Similar to LaunchDarkly / Statsig. Credibility B.

Architecture架构

flowchart LR
  UI[Dashboard] --> CTL[Config Service]
  CTL --> PUB[(Config Pub/Sub)]
  PUB --> CDN[Edge CDN / SSE]
  CDN --> SDK[Client SDK]
  SDK --> APP[App process]
  APP --> EVT[Event Pipeline]
  EVT --> WH[(Warehouse)]
  WH --> AB[A/B analysis]

Key decisions关键决策

  • **SDK evaluates locally**: full ruleset pushed to client; evaluation zero-RTT; server only collects events.**SDK 本地求值**:完整规则推送到端;判断 zero-RTT;服务端只收集事件。
  • **Deterministic hashing**: bucket = hash(user_id + flag_key) % 100.**确定性哈希**:bucket = hash(user_id + flag_key) % 100。
  • **Sticky segments** + exclude-list for emergencies.**粘性分段** + 紧急时 exclude-list。
  • **Change delivery SLA**: flag flip reaches 99% clients within 10 s.**变更 SLA**:10 s 内送达 99% 客户端。

Follow-ups追问

  • Avoid flag explosion? TTL + archive workflow.避免 flag 爆炸?TTL + 归档流程。
  • Multi-region consistency? eventually consistent; clients tolerate 10s skew.多区一致?最终一致,客户端容忍 10 s 偏差。

Related study-guide topics相关学习手册专题