Кассандра - метка времени клиента и распознавание конфликтов - PullRequest
4 голосов
/ 24 февраля 2012

Последняя политика записи Cassandra основана на отметке времени, а это отметка времени клиента. Возможно, что время между клиентами не синхронизировано - это может привести к потере обновлений. Я хотел бы точно знать, что происходит в текущих сценариях:

  • Клиентские часы задерживаются на несколько лет - в этом случае обновление столбца, отправленное с этого трудно задержанного клиента, всегда имеет более старую метку времени по сравнению с уже существующим значением (созданным «обычным» клиентом). Будет ли Кассандра игнорировать такое обновление? Будет ли это обновление перезаписывать существующее значение столбца и устанавливать более старое время?
  • Клиент получает несколько лет - в этом случае обновление от этого клиента всегда будет выигрывать, в случае одновременного запроса на запись, выполненного от другого «правильного» клиента - правильно?

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

Да, временные метки используются для разрешения конфликтов, поэтому новые временные метки всегда выигрывают. Общая рекомендация - запускать ntp на всех ваших машинах.

Если по какой-то причине ntp не подходит, вы можете установить временную метку на любое значение, которое вы хотите на клиенте, но вам придется разработать свой собственный способ синхронизации этого значения нтп работать почти всегда будет легче).

1 голос
/ 13 мая 2012

Я написал пост о Cassandra Timestamps некоторое время назад.Здесь обсуждаются конфликтные ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...