Recently, I discover Nats, thanks to Delaney, and I cannot stop thinking about it: Possible problems and accidental complexty: - Microservices & REST API: communicating via REST API, we are coupling the services together - - Nats is like Kafka, REST API, AWS S3 and Redis all combined in one - REST API calls couple the server and the client together. A clients needs to know about the servers. With Nats request-reply pattern, a client publishes a message and the server responds. - Nats can store large objects, so it can serve as an AWS S3 storage. - Single interface. Q&A: - Which clients called a server? - Set retention of the messaged, and now you have complete overview of all requests/responses - Tracing/Correlaction ids: - ??? Caveats: -