Reputation: 16992
Is JMS not a preferred way of messaging mechanism for microservices deployed in cloud foundry? If so , please can you elaborate on why it isn't ?
Upvotes: 1
Views: 843
Reputation: 13481
The canonical answer: Cloud Foundry has no opinions on how your applications communicate.
There are a bunch of reasons you may wish to use RESTful point-to-point communication rather than using message brokers. One of the things worth considering is that the apps you run on Cloud Foundry will be ephemeral, and may be terminated and recreated at any point.
Messaging queue technologies tend to be used in a way that people make assumptions about things like "exactly once" semantics, which are physically impossible to guarantee in a distributed environment. Distributed transactions become more tricky in a distributed environment too, and because there are more network hops there is more uncertainty in the system and an increased likelihood of seeing failure.
There's lots more that could be said on the matter, but you don't often see things like JMS being discussed with Cloud Native apps because those technologies are often associated with design patterns that aren't cloud-friendly, even if there is nothing that intrinsically makes them so.
Upvotes: 2