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

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.

主站蜘蛛池模板: 东莞市| 手机| 家居| 富蕴县| 松滋市| 区。| 舒兰市| 开远市| 鲜城| 阿拉善盟| 敦化市| 惠来县| 昆明市| 新闻| 大安市| 文昌市| 乐亭县| 公主岭市| 星子县| 武宁县| 桐乡市| 通化县| 吴桥县| 石林| 安国市| 巫溪县| 安岳县| 石首市| 宜兴市| 内丘县| 余庆县| 鄂尔多斯市| 孟津县| 花莲市| 京山县| 西藏| 民和| 克拉玛依市| 通州区| 麻城市| 兴义市|