タダです.
「Amazon Builder's Library」オンライン輪読会の第7回目を開催しましたのでレポートします.
開催経緯
開催の経緯は, kdnakt さんがまとめてくれています. kdnakt.hatenablog.com
第7回の記事
今回の輪読は,[分散システムのリーダー選挙]を選びました.オライリーの分散システムデザインパターンを買って積読になっていたのでこの機会に勉強したいと思い,このテーマにしました.
資料
所感
分散システムの文脈でリーダー選挙って言われてどんなものなのかや Amazon が使っている「リース」がどんなものかを理解するためにそもそも分散システムの入門情報として次の資料を参考にさせていただきました.
www.slideshare.net
www.slideshare.net
リーダー選挙のメリットとデメリットの部分で,デメリットを回避するためにシャーディングを使うことが紹介されていた理由も皆さんのおかげで理解が深まりました.シャーディングによって例えば1000あるデータを10個のキーで分割した場合,たとえサーバーに障害があってもデータの損失などの影響範囲が小さくすることに役立つためと理解しました.
輪読会中に参考させていただいた記事 qiita.com
また,Amazon がどうリーダー選挙しているかや事例を踏まえて少し自分の中でリーダー選挙の理解が深まりました.ただ,全体としてリーダーをどう選ぶかやロックをどう保持するかを確認する方法等は実装してみないと想像の域を出ないので「分散システムデザインパターン」を読みつつ手を動かして理解を深めたいです.
まとめ
「分散システムのリーダー選挙」輪読会のレポートでした.次回は「アベイラビリティーゾーンを使用した静的安定性」を読みます.担当はkdnakt さんです.よろしくお願いします!
20200323 追記
シャーディングを利用する目的が耐障害性を高めるためと行った記述をしましたが、誤りでしたので文章を修正しました. シャーディングでデータを分割はしていても耐障害性向上に役立つわけではなく,データの損失影響範囲を小さくするのに役立つと修正しています.
過去の開催レポート
『The Amazon Builder's Library』オンライン輪読会 第1回開催レポート kdnakt.hatenablog.com
『Amazon Builder's Library』オンライン輪読会 第3回開催レポート sadayoshi-tada.hatenablog.com
『The Amazon Builder's Library』オンライン輪読会 第5回開催レポート kdnakt.hatenablog.com