Converting Sequential Java Application to Vert.x

51 views
Skip to first unread message

Jeremie

unread,
Apr 29, 2015, 6:05:13 PM4/29/15
to ve...@googlegroups.com

Hello,

 

I have a Java-built software that runs on a server as a background application and performs heavy computing tasks on data coming in from hundreds of client applications in different locations.

 

By heavy processing, I mean some tasks may take up to 5 minutes to process. Some of the process is CPU-intensive and some is I/O-intensive.

 

In brief, data packets are continuously coming in to a NoSQL database. Then, our software retrieves data packets one at a time in a sequential manner, does some heavy processing, and then stores the results in a database.

 

The problem is the speed of the processing. Currently, every data packet is processed in a sequential manner, which contributes to lengthening the overall time needed to process the data and having them presented in a dashboard.

 

One problem is that each processing partly depends on the successful processing of the previous data item. That complicates multi-threading options.

 

My questions are:

 

  • Is it possible to use Vert.x to optimize my processing time by launching several instances of a verticle? Will it handle multi-threading so that there is no interference between each instance of the processing? Will it handle the processing as if it were sequential with the exception that it will run faster by being multi-threaded?
  • My application uses Java Runnable tasks, so is it possible to easily convert my application into Vert.x without redesigning my whole code?

 

Any hint or resource would be appreciated.

 

Regards,

Jeremie

Reply all
Reply to author
Forward
0 new messages