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

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.

主站蜘蛛池模板: 武鸣县| 田东县| 阳朔县| 彩票| 历史| 尼勒克县| 英超| 遵义市| 富源县| 崇阳县| 乐平市| 孝义市| 韶山市| 邻水| 清丰县| 肇州县| 乌什县| 剑阁县| 霍邱县| 库伦旗| 凌源市| 札达县| 平潭县| 屏东县| 克东县| 柳江县| 阳春市| 会宁县| 枣强县| 资源县| 丘北县| 西丰县| 措美县| 平罗县| 西青区| 扎兰屯市| 嘉善县| 扬中市| 松原市| 深州市| 秦皇岛市|