Лучшее (но не идеальное) решение этой проблемы я встретил в статье
https://www.infoq.com/articles/microservices-aggregates-events-cqrs-part-1-richardson
Если кратко:
— кластер доменов это агрегат (микромонолит). Внутри агрегата обычные транзакциями.
— приложение строится на CQRS + EventSourcing принципах
— консистентность между сервисами обеспечивается на уровне обмена сообщениями. Т.е. глобальной консистентноости нет, но каждый микросервис в отдельный момент времени находится в консистентном состоянии
— в статье не указано, но на практике это важно. Повторная отправка + идемпотентность для сообщений
Эх, родной НИИФ ЛГУ :)
Я, правда, позже лет на 10, уже CM-ки были.
Вроде дает скачать.
В том числе и на REST API
По этой ссылке — рекомендации да дизайн API.
www.tmforum.org/resources/standard/tmf630-api-design-guidelines-3-0-r17-5-0
Придется зарегистрироваться.
https://www.infoq.com/articles/microservices-aggregates-events-cqrs-part-1-richardson
Если кратко:
— кластер доменов это агрегат (микромонолит). Внутри агрегата обычные транзакциями.
— приложение строится на CQRS + EventSourcing принципах
— консистентность между сервисами обеспечивается на уровне обмена сообщениями. Т.е. глобальной консистентноости нет, но каждый микросервис в отдельный момент времени находится в консистентном состоянии
— в статье не указано, но на практике это важно. Повторная отправка + идемпотентность для сообщений