47
分散システム
分散コンピューティングの誤謬
ネットワーク越しのコードに潜む暗黙の仮定。
条文
もし
分散システムに不慣れな者は、ネットワークは信頼でき、遅延はゼロ、帯域は無限、通信は安全、構成は不変、管理者は一人、転送コストはゼロ、ネットワークは均質だと暗黙に仮定する。この8つの仮定はすべて本番で崩れる。
ならば
「プロセス間呼び出しを出す前に、8つの仮定のどれに依存しているかを明示し、各々に明示的なタイムアウト・リトライ・失敗経路を与えよ。」
ただし
失敗前提の設計 — 起こり得ない故障への過剰武装は避けつつ
出典
L. Peter Deutsch(誤謬 5〜7、1994年)と James Gosling(8つ目、1997年頃)——Sun Microsystems での先行研究に基づく。
原典へ関連する条文