Scripts2026年4月23日·1 分钟阅读

Flagsmith — Open-Source Feature Flags and Remote Config

Flagsmith is a self-hosted feature flag and remote configuration service with a web dashboard and SDKs for 18+ languages, enabling teams to manage feature rollouts and A/B tests without redeploying.

Introduction

Flagsmith is an open-source feature flag and remote configuration platform that lets teams toggle features, run experiments, and manage configuration values across environments. It combines feature flags with remote config in a single service, reducing the number of tools needed to control feature delivery.

What Flagsmith Does

  • Manages boolean feature flags and multivariate string/number/JSON configuration values
  • Targets features to specific user segments based on traits, identities, and rules
  • Provides SDKs for 18+ languages and frameworks including Python, Node, Go, Java, and React
  • Supports A/B testing by assigning users to flag variations with percentage splits
  • Tracks flag change history with an audit log for compliance and debugging

Architecture Overview

Flagsmith consists of a Django REST API backend, a React admin dashboard, and a PostgreSQL database. The API serves flag evaluations and configuration to client SDKs, which can operate in remote or local evaluation mode. In local evaluation mode, the SDK downloads the full flag ruleset and evaluates flags client-side with zero network latency per check. An optional Edge Proxy written in Rust provides high-throughput flag serving at the network edge.

Self-Hosting & Configuration

  • Deploy via Docker Compose with PostgreSQL included; production setups use an external database
  • Configure SMTP for email invitations and SSO via SAML or OAuth through environment variables
  • Helm chart available for Kubernetes with configurable replica counts and resource limits
  • Set FLAGSMITH_ON_FLAGSMITH for dogfooding: manage Flagsmith's own features with Flagsmith
  • Backup strategy follows standard PostgreSQL pg_dump; no proprietary data format

Key Features

  • Combined feature flags and remote config in one platform instead of separate tools
  • Local evaluation mode: SDKs cache flag rules and evaluate locally with sub-millisecond latency
  • Segment targeting with complex rules based on user traits, device type, and custom attributes
  • Change requests and approval workflows before flags go live in production
  • Rust-based Edge Proxy for high-throughput environments needing millions of evaluations per second

Comparison with Similar Tools

  • LaunchDarkly — Market leader in hosted feature flags; no self-host, per-seat pricing
  • Unleash — Open-source feature flags; does not include remote config values
  • Flipt — Lightweight Go-based flag server; fewer SDKs and no remote config
  • PostHog Feature Flags — Bundled with analytics; less focused on pure flag management
  • ConfigCat — SaaS feature flags with generous free tier; closed source

FAQ

Q: What is the difference between feature flags and remote config? A: Feature flags are boolean toggles (on/off). Remote config extends this to arbitrary values (strings, numbers, JSON), letting you change configuration without code changes or redeployment.

Q: How does local evaluation mode work? A: The SDK downloads the complete set of flag rules and segments on initialization and re-fetches on a configurable interval. Flag checks are then evaluated locally in memory without any API call.

Q: Can I migrate from LaunchDarkly or another provider? A: Flagsmith provides import tools and API endpoints for bulk flag creation. The SDK interface is straightforward enough that migration typically involves swapping the SDK initialization code.

Q: Does Flagsmith support multivariate flags? A: Yes. You can define multiple variations for a flag with percentage-based traffic allocation, useful for A/B testing where you need more than two options.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产