Introduced in Weblogic 12.1.2, dynamic clusters is a great feature to scale your private cloud.
Dynamic clusters provides you easy scaling of Weblogic clusters by adding and removing managed server instances on demand. They contain one or more dynamic servers. These dynamic servers are based on a single servertemplate that guarantees that every member of the cluster is exactly the same.
Creating Dynamic Clusters
Let’s take a look at some of the possibilities as we create a dynamic cluster.
I have created a virtualbox environment.
This environment consists of four VM’s with the following specs.
- 2 vCPU’s
- 4 Gb memory
- 50 Gb disk
- Oracle Linux 6.6
- Java 1.7.0_75
- Weblogic 12.1.3.0.2
I created a simple domain called demo_domain with only an AdminServer and four machines.
After unpacking the domain to the four servers, the nodemanagers where started and are reachable by the AdminServer.
Now let go through the process of creating a dynamic cluster.
Open the Weblogic Console and navigate to Environment -> Clusters
Lock and Edit the domain in the Change Center
note. I make it a good practice always creating a domain in production mode, even in Development and Test.
Create a new dynamic cluster
New -> Dynamic Cluster
Provide the Clustername
Cluster name: dyna-cluster
Click Next
We will start of with a cluster containing two dynamic servers.
Number of Synamic Servers: 2
Server Name Prefix: dyna-server-
Click Next
For this demo all machines will take part.
Select ‘Use any machine configured in this domain’
Click Next
Assign each dynamic server unique listen ports
Listen Port for First Server: 8000
SSL Listen Port for First Server: 9000
Click Next
Summary screen
With the creation of the Dynamic Cluster there is also a Server Template created for it.
Server templates
A single server template provides the basis for the creation of the dynamic servers. Using this single template provides the possibility of every member being created with exactly the same attributes. Where some of the server-specific attributes like Servername, listen-ports, machines, etc. can be calculated based upon tokens.
You can pre-create server templates and let Weblogic clone one when a Dynamic Cluster is created.
When none is available a server template is create with the Dynamic Cluster. The name and the listen ports are the only server template attributes that you provide during Dynamic Cluster creation.
Before we activate the changes to the domain, we are going to make a change to the server template.
As an example we are going to demonstrate the use of tokens for server-specific configuration.
Navigate to Environment -> Clusters -> Server Templates
Click on the name: dyna-server-Template
We are going to use the ${ID} token in the Listen Address
Listen Address: 192.168.100.4${ID}
Click Save
The last digit of the listen address is used to make the listen address dynamic.
Activate changes in the Change Center of the Weblogic Console.
After activation the cluster and two managed servers are created.
We can now start the two servers.
In the previous steps we have added a dynamic cluster with two dynamic servers, based on a single server template, to the domain.
Scaling a Dynamic Cluster
When the capacity is insufficient and you need to scale-up, you can add dynamic servers on demand.
It requires only a few clicks.
Navigate to Environment -> Clusters
On the Configuration tab go to the Servers tab
Change the Maximum Number of Dynamic Servers to: 4
Click save
Activate changes in the Change Center of the Weblogic Console.
After activation two Dynamic Servers are added to the Dynamic Cluster.
Start the two new Dynamic Servers and you have doubled you capacity.
Scaling down works exactly the same.
Just lower the Maximum Number of DynamicServers and activate.
A few points to keep in mind when scaling up or down.
Up
- New dynamic servers are not started upon creation
- Think before you act with the use of Tokens.
For example.
In our demo, the number of Dynamic servers can’t grow beyond nine servers, since we use the ${ID} as last digit of the listen address.
Down
- Dynamic Servers above the new Maximum have to be shutdown before the change can be activated.
- Dynamic Servers are removed in order, Last -> First
(In our demo dyna-server-4 gets removed first, then dyna-server-3, etc..) - You cannot remove a Dynamic Server directly from the Environment -> Servers page
Hi Alejandro,
Indeed, I would advise to spread the managed servers over multiple machines.
But you could also have multiple managed servers per machine to take care of possible process crashes.
In my lab environment I have another VM with Webtier installed using Oracle WebLogic Server Proxy Plug-In. With the use of Dynamic server list it need limited configuration.
There are Proxy Plug-in’s for Oracle and Apache HTTP Server, I-Planet and Microsoft IIS Webserver.
As far as I know there is also support for some hardware loadbalancers like BIG-IP, e.a.
Hi, just one question, How the balancer in front or the cluster address to support failover should be configured? I guess that a minimum of one managed server should be on each machine to warranty the HA.