CAP定理
分散システムにおいては下の三つのうち二つまでしか同時に保証することはできない。 ネットワークは信頼できないので、分断耐性は必ず保証しなければならない
ソフトウェアシステムとしてのトレードオフは、一貫性を取るか、可用性を取るかを考えなければならない
選択肢
CP - 一貫性と分断耐性(consistency and partition tolerance)
分断されたノードからのレスポンスを待ち続けているとタイムアウトエラーに陥る可能性がある
CPはのサービスがアトミックな読み書き(不可分操作)を必要とする際には妥当
AP - 可用性と分断耐性(availability and partition tolerance)
レスポンスはノード上にあるデータで最新のものを返す
最新版のデータが返されるとは限らない
分断が解消された後も、書き込みが反映されるのには時間がかかる
結果整合性を求めるサービスの際にはAPを採用するのが妥当 もしくは、外部エラーに関わらずシステムが稼働する必要がある際にも同様
否定
打破
独自のネットワークインフラを使用しているという条件に基づき、分断がほぼゼロとされる