Clustered Applications

Clustering is a property that can be added to your application. To do this,  add isClustered: true to the application’s manifest.json file, for example:

Example 2-1 Enable clustering capability in your application

{
  "runtime": {
      "majorVersion": "8"
  },
  "command": "java -jar myapp.jar",
  "isClustered" : true
}

Setting this property places the application on a shared overlay network. As a result, applications can use this networking support to communicate directly over a private IP network. This enables applications to collaborate and provide services to each other, and also makes it possible to expose APIs that are accessible only to other applications and not to external clients.

Some of the clustering benefits include:

  • Improved performance: Applications don’t need to route request through the public internet and through the load balancer.

  • Flexibility: Applications can use any port and any protocol to communicate privately among themselves on the internal overlay network.

See Prepare a Clustered Application for Deployment and Service to Service Communication.