A large part of the vert.x architecture is around the message bus, and message passing between verticals. The main idea I guess being that I can create multiple modules (possibly in multiple languages) that communicate via JSON messages that are sent over a message bus (hazelcast).

I can imagine that building a message bus into the platform (vs. say, encouraging communication via JSON/REST APIs) encourages large applications, with loose coupling and isolation between modules.

And I guess that's where I'm confused, because I don't see how this is better than, for example a system where you have relatively small/simple services ("micro-services") that communicate over HTTP via REST interfaces.

Am I missing something with respect to the benefits that Vert.x and it's message passing bring to the table?

Motivation: I currently use node.js and think it's an awesome platform (but I don't like javascript the language so much), but I love clojure which recently got some Vert.x love, so I was checking Vert.x out.

  • vert.x allows you to share data and provides a framework to have many clients across systems and VMs. It is a framework to have relatively small/simple services ("micro-services") Plus the main app where the services are used, along with app logic to make working app/ website
    – tgkprog
    Dec 14, 2015 at 6:20


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.