I am quite confused about the Reactive Manifesto. According to this manifesto a reactive system should be:

  • Responsive
  • Resilient
  • Elastic
  • Message Driven

Now for being responsive and resilient, as far as I am aware, everyone would want the system that they've built to be a responsive and resilient, what and why would be something against these?

As for Elastic and Message Driven, I find these complementary to each other, but isn't that simply saying, instead of building a monolithic application system; build a distributed application system?

So my understanding is that the first two of these reactive properties are what people would already aim to follow, and the last two of these properties might not be wanted by some people as it would be time consuming or distributed system being hard to implement. Is that correct?

Also, how can a framework like play could be a reactive framework? I can simply build an app on play framework that is not resilient (and it would be easier to build than resilient app).

closed as primarily opinion-based by Robert Harvey, jwenting, GlenH7, user22815, user40980 May 13 '15 at 0:34

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    You can build a "non-resilient" app in any framework. Play promotes the building of resilient frameworks with Akka and other technologies. It is always possible to make non-responsive, non-resilient, inflexible apps, even those that are message-driven. The main point of the manifesto is to prescribe attributes of reactive systems, not to contradict anybody's idea of what a good system is. – BobDalgleish May 7 '15 at 13:49