golang
のプロジェクトを開始するためには、以下のように、自身のモジュール名をつける必要がある様子。
また、このときのモジュール名はリポジトリのパスを指定するものの様子。
# go mod init github.com/shibadog/sebastian
新たに、必要なimportを行う最は、以下のようなコマンドを実行すると、依存の解決が行われる。
# go mod tidy
これは、このコマンドを実行する際に、存在する最新バージョンのimport対象のバージョンを含めた依存情報を go.mod
に追加し、 go.sum
にそのバージョンのHASHを保持する。
hashiCorpが作ったクラスタ構築ライブラリを使ってみた。
memberlistを使ってクラスタリング - ノードの参加と削除
# docker compose up app1
上記のようなコマンドでserver1台が起動する。
その後、別shellでnode2を起動する
# docker compose up app2
こうすると、二代目に起動した app2 が app1 のクラスタに自動参加される。
app2 を ctrl+c
で終了すると app1 が検知して離れたことを認識する。
これでお互いに死活監視が行えるようになった。