Перейти к содержимому
12 / 15

Что на самом деле утверждает CAP-теорема и какие выводы из неё делают неправильно?

CAP говорит про один конкретный сценарий: если сеть разделилась, распределённая система не может одновременно оставаться линеаризуемой (C) и отвечать на каждом живом узле (A). Разделение сети — не пункт меню: сети рвутся независимо от вашего желания, поэтому «выбрать CA» невозможно. Выбор возникает только в момент разделения: либо отказывать в обслуживании, чтобы не разъехались данные, либо отвечать и потом сводить расхождения. Всё остальное время верна вторая часть — PACELC: даже без разделения приходится выбирать между задержкой и строгостью согласованности. И ещё: C в CAP — это линеаризуемость, а не буква C из ACID, и относится это к отдельным операциям, а не к продукту целиком.

Что на самом деле утверждает CAP-теорема и какие выводы из неё делают неправильно? | JScriptiser