Что касается систем контроля версий, «распределенный» является просто антонимом для «централизованного». Централизованная система контроля версий имеет один центральный или главный сервер. Он может иметь или не иметь дополнительные серверы, но если он имеет дополнительные серверы и если эти серверы не согласны с назначенным центральным сервером, то эти серверы неправильны: центральный сервер является источник правды. В распределенной системе контроля версий такого сервера нет: все репозитории являются одноранговыми, по крайней мере с точки зрения разработки. Любая система с распределенным дизайном, конечно, может использоваться , как если бы она была централизованной. Таким способом можно использовать Git, указав один из репозиториев Git в качестве основного хранилища обновлений.
Когда я вижу слово «Распределенный» в других терминах, таких как «Распределенная база данных», «Распределенный кэш» и «Распределенные вычисления», тогда я обнаруживаю, что данные или вычисления действительно распределены по сети. Здесь слово «распределенный» означает «разделенный (одинаково не всегда)». Например, в Hazelcast, «системе распределенного кэша», ключи действительно разделены между предоставленными узлами. Но я не нахожу этого сходства в «Распределенной системе контроля версий».
Распределенные базы данных с репликацией не обязательно делят их хранилище. Например, etcd использует систему кворума для выбора лидера; все члены кворума стараются обновлять свои копии данных. Поведение кэша в многопроцессорных системах также часто является формой распределенного хранилища, хотя обычно оно значительно более тесно связано. См., Например, запись в Википедии для согласованности кэша . Распределенные системы с репликацией обычно классифицируются с помощью моделей согласованности .
(Быстрый поиск показывает, что Hazelcast имеет резервные копии для обработки сбоя узла, поэтому они также должны использовать некоторую модель согласованности. Если некоторое подмножество данных в распределенной системе хранится только на одном узле, эти данные становятся недоступными если узел выходит из строя. Так как вероятность отказа обычно увеличивается с увеличением количества узлов, это обычно не приемлемо.)