В моем приложении есть события с предметами.
Каждый предмет относится к пользователю и имеет цену.
У меня также была сумма элементов на пользователя и глобальная сумма (и средняя).
В настоящее время эти суммы вычисляются в функциях Firebase и рассчитываются каждый раз с нуля.
Причина состоит в том, чтобы избежать состояния гонки, когда 2 предмета будут добавлены одновременно и считывать одно и то же текущее значение.
Проблема - она работает слишком медленно ..
Каков «правильный» способ реализовать это?
Есть ли способ гарантировать отсутствие условий гонки?
Я хотел бы сделать двойную работу.
На стороне клиента добавьте / уменьшите значение определенного элемента до суммы / avg, а также рассчитайте с нуля на «сервере», чтобы избежать каких-либо проблем.
Это хороший способ?