Ticketing
ドキュメント
light_mode
language
日本語
Ticketing
1つのキーで複数プロセス・複数サーバーの順序を整理する、軽量で高速な分散ロックサービス
複数のプロセスやサーバーが同じリソース(口座、注文、在庫、バッチジョブ…)を同時に操作すると競合が発生します。 Ticketingは、TCP上のバイナリプロトコル1つでこの問題を解決します — クライアントは名前付きの キー(key)を
取得(acquire)
し、クリティカルセクションを通過した後に
解放(release)
します。その間サーバーは 待機者をFIFOで整列させ、クライアントが停止しても
lease
の失効が安全網となります。
⚡
バイナリフレームプロトコル
最初から固定幅バイナリフィールドとして設計されており、パース処理なしでオフセットからそのまま読み取ります — リクエストごとのオーバーヘッドが最小です。
🔑
フェンシングトークン
取得のたびに単調増加するトークンを発行し、ロックサーバーが常に完全に一貫していなくても安全に保護します。
🔄
無停止クラスター
優先順位ベースのアクティブ-スタンバイフェイルオーバー。最小2台構成で、再起動や障害時にもサービスが途切れません。
🌐
8言語の公式クライアント
同一のバイト単位プロトコル上に、言語ごとに自然で慣用的なAPI(asyncまたはブロッキング)を提供します。
🚀
サーバーデプロイガイド
Docker · Podman · Kubernetes · バイナリ — シングル/クラスター実行コマンドをその場で作成できます
→
プラットフォームサポート
🦀
Rust
GitHub
Rust
home_and_garden
toml
☕
Java, Kotlin
GitHub
Java, Kotlin
home_and_garden
xml
kts
📦
JavaScript, TypeScript
GitHub
JavaScript, TypeScript
home_and_garden
bash
bash
bash
🐍
Python
GitHub
Python
home_and_garden
bash
🔷
C#
GitHub
C#
home_and_garden
bash
powershell
🐹
Go
GitHub
Go
home_and_garden
bash
💎
Ruby
GitHub
Ruby
home_and_garden
bash