官术网_书友最值得收藏!

Addressing High Availability and Resiliency

Load balancers are used to distribute user loads across the JVMs/nodes of an enterprise application. Load balancers use sticky sessions to route all the requests for a user to a particular server, which reduces session replication overhead. Session data is kept in the server; in the case of server failures, the user data is lost. It impacts the availability of the system. Web session clustering is a mechanism to move session data out of application servers, to the Apache Ignite data grid. It increases system scalability and availability; if we add more servers, the system can handle more users. Even if a server goes down, the user data will still be intact.

The following diagram depicts web session clustering with the Apache Ignite in-memory data grid:

A Load Balancer can route user requests to any server based on the load on the server; it doesn't have to remember the server-session affinity mapping as the user sessions are kept in the Ignite grid. Suppose a user's requests were being processed by App server 3, and his session is kept in the Apache Ignite session grid Session 3 in the previous diagram. Now, if App server 3 is busy or down, then the load balancer can route the user request to App Server N. App Server N can still process the user request as the user session is present in the Ignite grid. 

You don't have to change code to share user sessions between servers through the Apache Ignite grid. We will configure web session clustering in Chapter 3Working with Data Grids.

主站蜘蛛池模板: 安溪县| 札达县| 奉贤区| 桂林市| 元朗区| 沅陵县| 仙游县| 麟游县| 兰考县| 吴堡县| 闽清县| 蕲春县| 庆城县| 黑山县| 郑州市| 泸西县| 阿克| 镇宁| 绥滨县| 项城市| 台南市| 哈巴河县| 黎城县| 准格尔旗| 金寨县| 新泰市| 上虞市| 龙江县| 静安区| 西乌珠穆沁旗| 屏东县| 益阳市| 邯郸县| 酉阳| 贵阳市| 佳木斯市| 磐石市| 宜良县| 蕉岭县| 涡阳县| 合山市|