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

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.

主站蜘蛛池模板: 白银市| 长宁县| 威海市| 色达县| 天峻县| 德庆县| 潍坊市| 谷城县| 虎林市| 建德市| 馆陶县| 加查县| 偃师市| 尚义县| 屯昌县| 淳安县| 岑溪市| 都兰县| 板桥市| 安吉县| 龙山县| 郁南县| 五原县| 大关县| 微博| 五台县| 上饶县| 瑞昌市| 大方县| 垫江县| 平远县| 彭泽县| 泗阳县| 固阳县| 宣武区| 丹巴县| 梅州市| 永济市| 宜君县| 扶沟县| 宝应县|