https://developers.redhat.com/blog/2018/10/01/patterns-for-distributed-transactions-within-a-microservices-architecture/ The problems above are important for microservice-based systems. Otherwise, there is no way to tell if a transaction has completed successfully. The following two patterns can resolve the problem: Possible solutions: 2pc (two-phase commit) Saga
How does the reified keyword in Kotlin work?
Effective Kotlin: Use Sequence for bigger collections with more than one processing step
Kotlin basics: types. Any, Unit and Nothing
Fastly VCL reference Varnish Documentation