I want to build a microservices environment with vertx.
What makes me confuse is, in which way that the microservices should communicate with each other? Over eventbus or RESTFul API?
In my opinion, that communication over the eventbus makes it not as real microservices, because I have always to import the auto generated library that was created by vertx. What when I would create two independent project, so when I want to communicate with a service, so I have to import always the auto generated service proxy right?
Would be a RESTFul API not a better choice?
Thanks
We've taken the HTTP approach and have found some drawbacks. As a summary:
. More complex routing mechanics in the case of failure
. Generally more code to maintain
. Problems with transient state (as part of the HTTP invocations) and greater complexity for persistence of these
. Less flexibility and evolvability
In retrospect I wish our internal services were eventbus bound.
Regards
Fuzz