1

We are just trying to analyse the benefits of using vert.x with sprint boot. Few of the advantages we could see compared to using vert.x only are:

1) Spring dependency injection framework support.

2) Properties file support

3) Spring's easy integration with frameworks like camel which can be used to talk to vert.x in case need arises.

4) Overall spring boot ecosystem support for things where vert.x might lack.

We would like to know if anyone has used Spring Boot with vert.x , what are the benefits achieved , challenges encoutered and learnings from the same and also is it really helpful to use vert.x with Spring boot.

Punit Goel
  • 59
  • 1
  • 6

1 Answers1

5

Usually those questions are getting closed, since they're too opinionated and broad, but I'll try to address it anyway.

You need to answer for yourself two questions: "do you have a good reason to be reactive" and "do you want to be reactive with Vert.x"

Being reactive allows you to serve more requests (much more requests) using limited resources. But do you actually need to serve tens of thousands of requests per second? Because SpringBoot serves hundreds of requests just fine. And there are costs to being reactive - your code is usually much more complicated, and you need to concern yourself with things like "not blocking the event loop".

If you have a good reason to be reactive, then you still should consider WebFlux. It uses the same ideas Vert.x does, but promises better integration with Spring infrastructure. On the other hand, this is relatively new project, and Vert.x is much more mature in that sense.

Alexey Soshin
  • 16,718
  • 2
  • 31
  • 40
  • since most of the interaction in question is through message brokers and document DB with just negligible HTTP API's so I am not sure webflux will be appropriate for such a case as vert.x provides its own aync API's for popular systems. Also since it's too much I/O based using reactive framework might save resources (like avoiding multiple instances of our application) , also the our requirement has multiple smaller functionalities that needs to communicate with each other and vert.x module concept seems to be good fit at least for now. – Punit Goel Aug 28 '18 at 09:38