In my last post “How to Build an Apache TomEE cluster” we saw how easy and fast is to deploy your application in a cluster and take all its advantages.
It’s interesting to keep in mind we have basically two different types of clusters. Let’s see them.
In a Dynamic Discovery cluster each node is ready to find another nodes in its network as soon as they are up and running.
It’s the most flexible (and dynamic!) way to build your cluster, as you can scale your architecture by just turning a server on or off.
You need to take care to not put on your cluster a node you don’t want to. If you have different clusters for different applications in the same network and all of them are Dynamic Discovery clusters, they will “see” each other nodes and you can imagine the mess! Of course that are some configurations to avoid it, but you need to do it very carefully.
In a Static Discovery cluster each node has a previous knowledge of all nodes that are in the cluster. No surprises!
You have much more control of your cluster and your architecture than in a Dynamic Discovery cluster. As the nodes are previously defined you can set another cluster in the same network without worrying about if they will see each other, because they won’t.
There are not much flexibility for scalability as you need to configure all your nodes if you want to add a new one (to remove just shut it down). It’s ok if you have 2 or 3 servers (nodes), but imagine 10… 20… 100!!
So… what’s the best one? Depends! Different scenarios and architectures should use the best features of one type or another. If you want my opinion just ask it!