@ techcircle_ja #4
Serf のことも時々でいいので思い出してください
1. Serf とは
2. Serf の力を思い知る
3. まとめ
Agenda
Serf
ノードディスカバリ・オーケストレーションツール
http://www.serfdom.io/
Membership
非集権型
Membership
Gossip プロトコルベース
Membership
serf members
server1
10.0.0.1
tag role=web
server2
10.0.0.2
tag role=ap
ノードレベルのディスカバリ
Failure detection
and recovery
member failed recovery
(member-join)
ノードレベルの障害検知と復旧
Custom event
propagation
member join
member leave
メンバーの状態に関係したイベントのハンドリング
member join/leave
member join/leave
member join/leave
member join/leave
Custom event
propagation
serf event deploy deploy
deploy
deploy
deploy
deploy
ユーザ定義イベントのハンドリング
メモ
1. Consul のクラスタは、内部的には Serf で組まれています。
(Consul =サービスレベル、 Serf =ノードレベル )
2. よく、「何ができるツールなのかわからない」といわれる
Serf や Consul ですが、
「なんでもできるが、何もしない」ものだと思います。
「なんでもやらせるには、ある程度作りこみが必要」です。
3. ここまでが真面目な話です。
特に意味はありませんが、 Android 端末でクラスタを組んで
みましょう。
残念ながら Consul は arm 版のビルドが間に合いませんでした。
なお、やりたかったのは目覚まし時計のフェイルオーバーです。
( 片方落ちたらもう片方の端末が検知して自分をマスターに )
しかし LT で目覚ましが鳴るのを待つとかむずかしいので、
違うことをします。
デモをします。
それでは、
そろそろ Serf の力を思い知りましょう
ほしかったもの
▷ 目覚まし時計のフェイルオーバー
できあがったもの
▷ 管理端末のあらゆるデータを覗き見する仕組み
▷ 管理端末にあらゆる動作を強要する仕組み
▷ 管理端末を一斉にシャットダウンさせる仕組み
▷ 管理端末が member-failed で一斉に心中する仕組み
まとめ
▷ そもそも、 wif などでしょっちゅう通信が発生するという
ことは、電池を消費するということ
▷ ディスカバリに関しては、モバイル端末が同じサブネットに
いることが一体どれだけあるというのか・・・
疑惑は尽きない。
このデモに関する既知の疑惑
Serf は真面目にサーバ管理やネットワーク危機管理に適用
すれば強大な力を発揮するものです。
うまく活用した事例や、何か面白い使い方を思いついた方は
教えてください。
最後に
Thank you

Serf<s>のことも時々でいいので思い出してください </s>を使ってみよう