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

я есть субъект, который представляет способ оплаты. Я хочу иметь группу лиц для всех попыток оплаты, выполненных с использованием этого метода оплаты.

Ограничение «1 запись в секунду» подходит и действительно подходит для моего случая использования, поскольку нет веских оснований для списания средств с определенной кредитной карты чаще, чем это, но я не смог найти какие-либо спецификации на максимальный размер группы объектов ,

Мое беспокойство вызывает ли очень активная корпоративная учетная запись какие-либо ограничения в отношении количества записей в группе объектов (когда они выполняют свою миллионную транзакцию с нами)?

Ответы на вопрос(1)

Решение Вопроса

ограничения на размер группы объектов не существует, все ограничения, связанные с хранилищем данных, описаны врамки.

Но имейте в виду, что размер группы объектов имеет значение, когда речь идет о конфликте данных, см.Держите группы сущностей маленькими, Обратите внимание, что конфликт возникает не только при написании сущностей, но и при чтении их внутри транзакции (см.Проблемы с конфликтами в Google App Engine) или, иногда, может быть, даже вне транзакций (см.TransactionFailedError в GAE, когда нет транзакции).

ИМХО, ваш вариант использования не стоит риска решения этих проблем (довольно сложно отладить и устранить), в этом случае я бы не использовал одну группу сущностей.

 Dan Cornilescu25 сент. 2017 г., 21:51
Обычно вам не нужна явная блокировка, об этом должно позаботиться само присутствие среды транзакции. Если длительность сделки недопустима. Под транзакцией здесь подразумевается транзакция хранилища данных, а не транзакция оплаты. Попробуйте сопоставить их 1: 1.
 Alex25 сент. 2017 г., 21:11
Я надеялся использовать здесь группы объектов, чтобы предотвратить одновременное начисление платы несколькими пользователями / потоками. В настоящее время у меня есть отдельная сущность, которую я называю «блокировкой платежей», которая использует тот же идентификатор ключа, что и учетная запись, которую она блокирует. Перед попыткой оплаты я пытаюсь пометить учетную запись как заблокированную в транзакции, затем я выполняю платеж и затем разблокирую транзакцию. Время от времени я замечал ошибки в конфликтах. Каков был бы лучший способ сделать это тогда?
 Tim Hoffman26 сент. 2017 г., 12:19
Если вы ограничиваете своего предка группы сущностей плательщиком, то вы можете масштабировать систему и при этом достигать возможности транзакций групп транзакций, если только вы не можете найти причину, по которой одна карта будет оплачивать несколько одновременных платежей ;-)

Ваш ответ на вопрос