Ebin, I appreciate your take on microservices, but the idea that 2PC is unnecessary is somewhat odd. Yes, it’s largely unnecessary for many types of process but for any serious transactional system in which transactions really, really count then 2PC in one form or another is absolutely essential. In today’s mobile world I’d argue it’s even more important because while developers can assume constant connectivity, users in the real world can’t assume this at all, especially in the USA where the patchwork approach to networks means roaming across networks is often impossible and so dead zones multiply. Without a 2PC type mechanism, all sorts of problems can arise.