It's a good knowledge sharing session but there are some critical cases that are not covered. Consider a situation where a customer has a credit card with limit of $500 and you have more than one simultaneous debit event and multiple instances of same microservice are running so they can pickup different debit events for the same customer. While one microservice instance is performing the transaction for debit event of $300, the other instance could go ahead and perform transaction for debit event of $400. Clearly one of the events shouldn't fail as the overall transaction is $700 which is more than the the limit $500. So how are they going to handle such cases