По умолчанию чтения Zookeeper не являются линеаризуемыми, поэтому согласование не требуется. Вместо этого они последовательно согласованы, что позволяет локальное чтение с узла, к которому подключен клиент.
Если вы хотите линеаризуемое чтение в Zookeeper, вы должны сначала явно синхронизировать узел - теперь вы будете читать все записи, которые были завершены с момента начала вашего запроса на чтение (синхронизацию), давая возможность линеаризации.
То же самое относится, например, Плот. Вы можете выполнять локальное чтение и получать максимально последовательную согласованность (при условии, что вы координируете с узлом, чтобы не читать данные старше, чем вы видели), но если вы хотите линеаризуемое чтение, вы должны «зафиксировать» операцию чтения (то есть попросите систему договориться о том, какие записи совершены до прочтения), что снова требует консенсуса.