eigil
eigil

Reputation: 1182

why/how deploying multiple instances of a verticle

While reading a document about vert-x mongo client I came across following line:

In most cases you will want to share a pool between different client instances.

E.g. you scale your application by deploying multiple instances of your verticle and you want (...)

It is the last line that caught my attention. I didn't know I should scale my application by deploying multiple instances of the verticle. I plan to make a MongoDbVerticle class that will listen for queries on the event bus.

Questions are:

Am I really supposed to deploy this verticle several times? How many times? Based on what criterias? Or have I misunderstood some basic concept? I'm new to vert-x, so that might well be.

Upvotes: 3

Views: 3598

Answers (1)

Daniel Figueroa
Daniel Figueroa

Reputation: 10666

What happens is that vertx will route your request to one of the verticles that you have defined. Since vertx can be deployed over several machines you can i practice load balance you verticles that have long running operations(such as talking to a database or writing to file, etc.).

If I remeber correctly vertx uses Round Robin to route the requests. That means that if you have two mongo-verticles; a and b, it will first select a then b then a again and so on.

To deploy a verticle you just use the command vertx run <verticle>.

Note: This is not as simple if you run your vertx instance as a fat-jar.

Upvotes: 2

Related Questions