Asopitech With · 機能フラグ管理
LaunchDarkly with Alopex Chirps & Alopex DB
LaunchDarklyは、デプロイし直さずに機能をオンとオフで切り替える機能フラグ管理のサービスです。これをAlopex ChirpsとAlopex DBを使って再現すると…?
更新: 2026/10/13
どんなサービスか
LaunchDarklyは、機能フラグを管理するサービスです。新しい機能を、デプロイし直さずに、オンとオフや、対象のユーザーで切り替えられます。扱うデータは、フラグの定義、対象の条件、変更の履歴です。
通信の組み立て
- Raftによる合意:フラグの変更は、Raftのグループに提案し、合意してから全ノードの状態機械に同じ順序で反映します。すべてのノードが、同じ順序で同じ設定になります。
- Alopex DBのテーブル:状態機械は、フラグの定義と対象の条件をAlopex DBのテーブルに書き、変更の履歴も行として残します。どの時点で誰が何を変えたかを、SQLで確かめられます。
- ノードの参加:新しいノードは、シードのリストから参加し、Raftの学習者として追いついてから、投票のメンバーになります。
フラグを評価して、ユーザーごとにオンかオフかを決めるのは、アプリのコードです。
配置の形
フラグを使うサービスの各ノードに、ChirpsとAlopex DBを組み込みます。合意のための別のクラスタは要りません。
Alopex ChirpsとAlopex DBが合う理由
機能フラグは、全ノードで同じ設定になることと、変更をあとから追えることが要です。Chirpsは、Raftで変更の順序をそろえ、Alopex DBは、その結果と履歴をSQLで読めるテーブルに残します。
フラグの変更をRaftでそろえ、履歴をSQLで追えるAlopex ChirpsとAlopex DBで、機能フラグの配信を作ってみよう。GitHubのクイックスタートから始められます。