Garbage collection is just one aspect of the management of your app on your server(s). Clustermanagement involves all other aspects necessary to maintain your server(s). An artificial friend of mine phrases it quite eloquently like this:
In Mendix, "clustermanagement" typically refers to the management and administration of a cluster of Mendix applications. This involves overseeing multiple instances of Mendix applications that are running together to ensure scalability, reliability, and performance. Here are some key aspects of cluster management in Mendix:
1. Scaling: Automatically or manually adjusting the number of application instances based on load to ensure optimal performance and resource utilization.
2. Load Balancing: Distributing incoming traffic evenly across the application instances to prevent any single instance from becoming a bottleneck.
3. Monitoring: Keeping track of the performance and health of all instances in the cluster, including resource usage, response times, and error rates.
4. Fault Tolerance: Ensuring that the application remains available and functional even if one or more instances fail. This often involves automatic failover and redundancy strategies.
5. Deployment: Managing the deployment of new versions of the application across the cluster with minimal downtime and disruption. This may include rolling updates and blue-green deployments.
6. Configuration Management: Ensuring that all instances in the cluster have consistent configurations and are running the appropriate versions of the application and its dependencies.
7. Security: Implementing security measures to protect the applications and data within the cluster, including encryption, access controls, and secure communication between instances.
In a Mendix environment, cluster management may involve using tools and platforms like Kubernetes for container orchestration, Mendix Cloud for application deployment and management, and various monitoring and logging solutions to keep track of application health and performance.
This documentation you mention is more for understanding how the mendix runtime works in a cluster model. And when we talk about clusters, we're usually talking about Kubernetes or Openshift. Here is the mendix Private cloud documentation https://docs.mendix.com/developerportal/deploy/private-cloud/ and its related topics. In its documentation, the cluster management process is done by the Pod Master and yes, it will always do these actions,
Session cleanup handling
Cluster node expiration handling if more de one Pod.
Background job expiration handling
Unblocking blocked users
Cleanup unreferenced files
Executing Scheduled Events I think it now orchestrates the execution but distributes it if it's in multithead.
Performing database synchronization after new deploy Master pod apply DDL database change and Pods Slaves They wait until it's over
Clear persistent sessions after new deploy
Hello all,
Apologize for riding on this thread but if Kubernetes or OpenShift is not used, is it still possible to setup a third party load balancer (similar to those like IIS ARR) so that it can perform the actions that the cluster leader does? (session cleanup, cluster node cleanup, background job expiring ,etc) (as mentioned in this link: https://docs.mendix.com/refguide/clustered-mendix-runtime/#cluster-leader-follower)
Because in my organization we have to follow the existing architecture guidance, so we have an existing standard of load balancer. k8s or openshift is not yet recommended.