AKF Principle: X‑Y‑Z Axis Splitting for Scalable Microservice Clusters
The article explains how to address single‑point failures and capacity limits in server clusters by applying the AKF principle, detailing X‑axis horizontal replication, Y‑axis business‑function splitting, and Z‑axis data‑access splitting to achieve robust, scalable microservice architectures.
When building a cluster, the first step is to identify the problems of a single node, such as single‑point failure, limited capacity, and limited concurrent connections.
To solve these issues, servers need to be clustered, introducing the microservice design principle known as the AKF principle.
The AKF principle starts with addressing single‑point failure by replicating the node, which involves three concepts: master‑slave, master‑master, and master‑backup. In a master‑master setup, multiple servers simultaneously provide read‑write services.
In a master‑slave configuration, the master can read and write but typically only accepts write operations, while the slave handles read requests.
In a master‑backup setup, the master provides read‑write services, the backup does not serve external requests, and when the master fails, the backup is elected to become the new master.
X‑axis splitting (horizontal replication) means running multiple instances of a monolithic system, forming a cluster with load balancing; examples include master‑master, master‑backup, and master‑slave configurations.
Y‑axis splitting separates servers based on different business functions or frequently accessed features, allowing each server to handle distinct data sets.
Z‑axis splitting further divides data based on access patterns, such as geographic regions, so that different servers handle the same business but different subsets of data.
In summary, the AKF principle consists of X‑axis horizontal replication, Y‑axis business‑function splitting, and Z‑axis data‑based splitting, providing a comprehensive approach to building resilient and scalable server clusters.
Architecture Digest
Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.