одного агрегата в один момент времени работает только один человек? (не считая чтения)
ну как, допустим продавец подписывает док потом покупатель, но покупатель может сколько угодно дергать метод подписания, агрегат не в том стейте чтоб позволить ему это делать
а может быть такое, что представлять покупателя или продавца могут несколько человек, и например на этапе подписания продавцом, параллельно подписываются документы одного агрегата разными людьми?
всмысле, имеется 2 закрывающих документа, и могут подписываться одновременно? один сотрудник подписывает один док, второй - другой? можно, все норм будет
и как ты хедлишь ситуацию, когда приходят два запроса на подпись одновременно? надеетесь на транзакции в бд?
Тогда уж на локи. Транзакции ни как не помогают в конкуренции.
не доводилось быть на проектах где надо было локи юзать, но я в курсе про них в конкретной фиче скорее всего лочить не надо, т.к. пофиг где-то в другом месте возможно надо будет
Тогда агрегаты немного бесполезные. Ибо они могут из-за паралельности нарушать логику работы используя устаревшие данные.
я понимаю что это проблема но в моей отдельно взятой фиче - это не будет проблемой, т.к. пофиг кто из сотрудников подписал, это ответственность юзера кто будет подписывать но спс что про локи упомянул, погуглю подробнее, видимо пора начинать юзать
Просто обычно это на уровне инфраструктуры для агрегатов. И странно что этого нет у вас . Они как бы такие себе агрегаты без этого.
Обсуждают сегодня