Search
Write a publication
Pull to refresh
0
0

User

Send message

Примеры со сменой email-адреса некорректны, поскольку между выборкой и сохранением есть момент когда может произойти вставка данных из другого потока, проверка не сработает и получим двух пользователей с одинаковым email. Можно использовать pessimistic locking, но тогда это приведет к снижению производительности системы. Самый разумный вариант это уникальный индекс в хранилище данных по email, никаких проверок, меняем email и сохраняемся. Также обычно такие штуки

await this.repository.findAll()

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

Вообще про трилемму это явно взято из блога Владимира Хорикова. У автора есть неплохие статьи, но эта точно не из их числа.

Да, сам использую saga orchestration. Но в русскоязычных докладах на тему "Как мы внедрили микросервисы" — это почти всегда не так и даже интересно как и зачем люди пытаются изобрести ACID в распределенной системе и почему уверены, что их решение действительно работает верно.

Спасибо за ответ. Может быть подумаете о статье на эту тему? Было бы интересно почитать.

Как поддерживаете консистентность данных если бизнес-операция охватывает несколько микросервисов?

Да, symfony явно ломает представление автора о фреймворках.

Information

Rating
Does not participate
Registered
Activity