Микросервисы. Согласованность данных

preview_player
Показать описание
Рассматривается реализация ACID принципов транзакции в микросервисной архитектуре

* Что почитать

Книга
Крис Ричардсон "Микросервисы. Паттерны разработки и рефакторинга"
Рекомендации по теме
Комментарии
Автор

Спасибо большое, очень хорошо раскрываете информацию. Продолжайте пожалуйста)

Индахаус
Автор

Спасибо, интересно =) Но раз уж канал Джавистка - хочется, конечно, примерчик на джавке.

TheSelectmax
Автор

9:35 Ай-ай-ай! 😁 Программистка кладёт на транзакции в прямом эфире!

А если серьёзно, то, я думаю, что проблема распределённых транзакций полноценно решается только в монолите. Либо нужно правильно разделить приложение, чтобы транзакции не было распределёнными, а согласованность между сервисами устраивала бы отложенная, по событию. Но это сложно.

Другой причиной, порождающей кучу проблем и в том числе сильную связанность, является использование команд. Команда – это всегда прямая связь, потому что она всегда имеет направление. Тот, кто отдаёт команду, должен знать того, кому он её отдаёт. А вот в случае использования только событий, такой проблемы нет, сервисы вообще друг о друге не знают, и согласованность организовать проще – через последовательность событий, которые хранятся в брокере.

-dubok-
Автор

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

axiomadevelopper
Автор

ащще огонь! Вы работу случайное не ищите? Можете написать мне в телеграмм @jek_point?

Jekklo