My Nodejs microservices currently running on Kubernetes are communicating over REST. Does the request-reply model of NATS, which replier needs to return (large data ~ 500kb currently single endpoint response), cause performance increase? Some benchmarks say it’s 10 times faster (1), but I got a bad result on a little test I did at my local (but the conditions weren’t equal, I’ll repeat the test on more equal terms). On the other hand, I have read that RabbitMQ does not have a good performance on request-reply. I want to discuss here, how can I decide which communication model is advantageous / performance in situations that require synchronous communication?
In addition, when REST is used, resources can be documented with Swagger. What needs to be done when using NATS?