Расовые условия с Cassandra Counter - PullRequest
0 голосов
/ 15 декабря 2018

У нас есть таблица Cassandra, где мы храним количество продаж товаров в нашем каталоге.Для этой цели мы используем тип данных счетчика.Мы все еще не уверены, сможет ли счетчик справиться с условиями гонки.Несколько серверов пытаются увеличить количество для одного и того же элемента.

Счетчики обрабатывают условия гонки или нам нужно внедрить нашу собственную систему блокировки для обновлений?Если нет, то в чем преимущество использования счетчика над целым числом?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Вы можете использовать SERIAL-запросы, которые делают ваши запросы линеаризуемыми за счет производительности, о чем следует помнить, даже если ваша основная задача - обеспечение согласованности и безопасности гонки данных.Вы можете узнать больше об указанном типе запроса в следующих ссылках:

0 голосов
/ 15 декабря 2018

Счетчики по определению не являются точными, поэтому вы не должны использовать их для инвентаря и подобных вещей.

Они не являются идемпонентными, поэтому они не повторяются в случае сбоев, поэтому вы можете получить недостаточный подсчет в случае политики повторения по умолчанию или избыточный подсчет, если вы реализуете настраиваемую политику повторов ...

Преимущество использования счетчиков в том, что они могут работать в определенных ситуациях, когда точность не так важна.Они намного легче, чем LWT.

...