вы не можете реализовать традиционную систему транзакций в микросервисах в распределенной среде.
Вы должны использовать метод Event Sourcing + CQRS, и, поскольку они являются атомарными, вы получите что-то вроде реализации транзакций или 2PC в монолитной системе.
Другим возможным способом является анализ журнала транзакций, который, я думаю, использует Linked-In, но у него есть свои минусы и плюсы. например двоичный журнал разных баз данных отличается, и события в базе данных одного типа имеют различия между разными версиями.
Я предлагаю вам использовать Event Sourcing + CQRS и строковые события в хранилище событий, а затем попытаться достичь согласованности событий на основе теоремы CAP после передачи нескольких событий между микросервисом A и B и обновление состояний домена на каждом этапе.
Рекомендуется использовать брокер сообщений, такой как ActiveMQ, RabbitMQ или Kafka, для отправки событий, связанных с событиями, между различными микросервисами и связывания их в хранилище событий, такое как mysql или другие системы.
Еще одно преимущество этого способа, помимо имитации транзакций, заключается в том, что у вас будет полный журнал аудита.
person
Touraj Ebrahimi
schedule
22.05.2017