London Tech Talk 名物 Bookclub 第四弾 "Database Internals" 第九章の振り返り収録です。"Failure Detection" の内容について振り返りました。
まず "Heartbeat / Ping" スタイルでの故障検知について紹介しました。誤検知を避けるために、タイムアウト時間を伸ばしたり、リトライ回数を増やしたりという軽減策と、そのデメリットについて SRE としての実体験をもとに紹介しました。
次に "SWIM Protocol" について話しました。 Heartbeat スタイルと Gossip スタイルの合わせ技とも言えるアルゴリズムです。Direct Ping / Indirect Ping の使い分けや、どのようなノードリストをメンバー間で共有していくのかについて触れました。
続いて ”Phi Accurual Failure Detection" について説明しました。Apache Akka や Apache Cassandra でも使われている本プロトコルは日本の研究者によって発表された論文に基づいています。故障確率 Phi を数理統計的に計算するその革新性について話が広がりました。
最後に、それぞれのプロトコルを「朝になかなか起きてこないティーンエイジャーの子供を起こすシーン」というアナロジーで説明してみました。
そのほか Bookclub で盛り上がった観点や、次回の Chapter 10 の予定について触れました。
ご意見・ご感想など、お便りはこちらの Google Form で募集しています。