概要
前回のRedisを使った分散ロックでは、正確なロックを取るためにはZookeeperやetcdを使うと良い、とまとめていました。
なので今回はetcdを用いて分散ロックを実現します。
環境
- etcd v3.4.15
- pkg.go.dev/go.etcd.io/etcd v3.5.0
- go 1.16.0
事前知識
分散ロックに必要なもの
分散ロックマネージャには以下の機能が必要です。
- 自動リース機能
- CAS
- フェンシングトークンを発行する機能
1つ1つ説明していきます。
続きを読む