Home  /  Architecture  /  Scalability Guide  /  Horizontally Scaling InterSystems IRIS for User Volume with Distributed Caching

Scalability Guide
Horizontally Scaling InterSystems IRIS for User Volume with Distributed Caching
[Back]  [Next] 
InterSystems: The power behind what matters   

InterSystems IRIS™ supports a distributed caching architecture that scales horizontally for user volume by distributing both application logic and caching across a tier of application servers sitting in front of a data server, enabling partitioning of users across this tier. Each application server handles user requests and maintains its own database cache, which is automatically kept in sync with the data server, while the data server handles all data storage and management. Distributed caching allows each application server to maintain its own, independent working set of the data, which means that adding application servers lets you handle more users.
This architecture is enabled by the use of the Enterprise Cache Protocol (ECP), a core component of InterSystems IRIS® Data Platform™, for communication between the application servers and the data server.
The distributed caching architecture and application server tier are entirely transparent to the user and to application code. You can easily convert an existing standalone InterSystems IRIS serving data into the data server of a cluster by adding application servers..
Distributed Caching Architecture
An InterSystems IRIS instance becomes an application server by adding another instance that is configured as a data server as a remote server, and then adding any or all of the data server’s databases as remote databases. This allows local namespaces on the application server to be mapped to remote databases on the data server. A cluster of multiple application servers and at least one data server configured in this way works as follows:
Local databases on a single InterSystems IRIS instance
Remote databases on a data server in a distributed cache cluster
The number of application servers in a cluster can be increased or reduced without affecting the operation of the cluster, so you can easily scale as needed as user volume increases. Data servers can be mirrored for high availability in the same way as single InterSystems IRIS instances, and application servers can be set to automatically redirect connections in the event of failover. (It is not necessary or even possible to mirror an application server, as it does not store any data.)
ECP Recovery
ECP is designed to automatically recover from interruptions in connectivity between the ECP application server and the ECP data server. If the connection between an application server and a data server is interrupted, the application server attempts to reestablish the connection.
Learning About Distributed Caching and ECP
You can learn about distributed caching and ECP using the following resources.
InterSystems Documentation
For further information about ECP, see the following InterSystems documentation and Developer Community articles:
InterSystems e-Learning
InterSystems Developer Community