Reputation: 424
We need to start working on a microservice with an initial plan to use Vert.x for the same. With the recent Milestone releases of Springboot 2.0 including the Reactive support, we are now also considering Springboot 2.0 as an option, but since this is a very new release I have some concerns on the stability of this release. Has someone already used Spring Webflux / Reactive support, how was the experience, any known issues / trouble while implementing this. Any specific suggestions/recommendations are welcome.
Upvotes: 17
Views: 16090
Reputation: 972
when you said microservice that means it will be microservices, in that case, you can mix things(polyglot) and if anything goes wrong rewrite that particular service and swap-out the existing one (here).
Now coming back to your original question Vert.x and Spring 5 both have their own Pros and cons (no silver bullet). Personally, I prefer Vert.x for its simplicity and on-demand dependency. I have seen few benchmarks where Vert.x was faster (a little) than Reactive spring and the reason is obvious. But Spring has Huge community support and tons of out of the box configuration, (you just annotate your class and make some changes in configuration and that's all to spawn a service !!!).
You can mix things like use spring to Write Authentication and Authorization services (for example Implementing OAuth 2 in spring is insanely easy.) And then write your other services in Vert.x. Again these are architectural decision that a third person(me) can't decide remotely without having any idea of your requirements.
It is quite hard to choose among them, its best to go with the right tool for the right job that's the reason behind microservices over growing popularity.
ps: What I wrote was from my personal experience and realization. Opinions may vary person to person and I don't claim to be one-hundred percent right.
Upvotes: 40