0

Vertx support cluster by native, however it seems that the cluster works on Verticle.

Different verticles can be deployed at different servers inside a local network, they can be detected automatically, also they can contaminate with each other by the event bus.

Now, for an application, it contains a couple of verticles, and they are deployed together at a server, for performance, this application are deployed at several servers in a local network, now should the verticles for the server be started in cluster mode?

Or we still need the traditional load balancer like nginx to dispatch the requests?

Since the cluster nodes auto detected is a wonderful feature, it would be nice if we can use that in application level.


Maybe I do not make me clear, I just want to know if the cluster is verticle level or application level.

hguser
  • 35,079
  • 54
  • 159
  • 293

2 Answers2

0

For communication over event bus no LBs are needed, the cluster handles the discovery and lookup of it's nodes (which are Verticles).

Although if your verticles provide some (http) endpoints, you might use a LB to let the clients access the scaled verticles through a single address.

injecteer
  • 20,038
  • 4
  • 45
  • 89
0

Cluster consists from verticles. By native Vertx support High availability. If you have multiple verticles for one logical application, then you could use load balancer with Sub routers. There is simple example. In that case you create additional verticle, which is responsible for LB. But for production you also will need Service Discovery. And, of course, you can use external LB.

egorlitvinenko
  • 2,736
  • 2
  • 16
  • 36