Fixing the transaction in the order creation process
Way back in the Avoiding cross-domain transactions section, in Chapter 1, Building a Better Reactive App, I flagged the fact that we had a cross-domain transaction in the creation of a new SalesOrder
entity. The SQL logic within that transaction not only created the order header and line items, but it also used the book table directly to decrement the inventory associated with that order. I also stated that this is not a real scalable solution, both from a performance standpoint and the fact that it's creating a strong tie (at the db level nonetheless) between these two contexts that will be difficult to deal with moving forward. It's not the time to start the process of getting rid of that ...
Get Mastering Akka now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.