1

Для уникальной базы данных продаж товаров, если мы используем последовательную согласованность, мы можем гарантировать, что, например, этот уникальный товар никогда не будет продаваться двойным образом другим людям. Гарантирует ли нам причинно-следственная связь?Последовательность и причинно-следственная связь

Если есть некоторые продажи, которые начались/закончились в то же время, нарушила ли система?

Поскольку изделия уникальны, мы можем продавать только один товар.

спасибо

ответ

0

Causual консистенция гарантирует вам, что если два события causually связаны, что все согласятся с тем, чтобы они имели место. Это позволяет расходиться в упорядочении событий, которые не связаны с причинностью (или «одновременно»).

Две попытки приобрести предмет, который выполняются различными узлами в системе, вероятно, не будут связаны с причинами - покупатель B почти наверняка не пытается купить товар , потому что он видел, что покупатель A уже купил это. В причинно-последовательной системе это означает, что два события являются одновременными, а разные узлы в системе могут не соглашаться относительно их относительного упорядочения - А может полагать, что ее попытка покупки наступила первой и преуспела, и Б может поверить в то же самое.

Вы можете заставить две попытки покупки быть причинно связанными с небольшим количеством дополнительных возможностей. Вместо того, чтобы покупатели напрямую покупали товар, попросите их написать запись, указывающую на их желание приобрести товар. Назначьте один узел, который будет «владельцем» элемента. Всякий раз, когда он видит запись о покупке, она считывает текущее состояние элемента и, если оно доступно, продает его данному покупателю. Покупатели наблюдают за пунктом, чтобы узнать, продан ли он им или кому-то другому.

Это устанавливает порядок между двумя событиями: либо владелец сначала видит запись А, либо продает ее ей, либо сначала записывает запись Б и продает ее ему. Два события не связаны с причинностью, поэтому другие узлы могут видеть записи в обратном порядке, но это нормально - их мнения не учитываются, только владелец. Второе чтение владельца (которое должно видеть, что этот предмет уже продан) связан с его ранней записью, которая отмечена предметом, проданным с момента их выполнения на том же узле, поэтому мы гарантируем, что он продаст этот товар только один раз.

Смежные вопросы