Presentation is loading. Please wait.

Presentation is loading. Please wait.

GigaSpaces Global HTTP Session Sharing October 2013 Massive Web Application Scaling.

Similar presentations


Presentation on theme: "GigaSpaces Global HTTP Session Sharing October 2013 Massive Web Application Scaling."— Presentation transcript:

1 GigaSpaces Global HTTP Session Sharing October 2013 Massive Web Application Scaling

2  Web Application performance and HTTP Session Scalability  Storing user sessions on disk or database slows down the application.  Current HA implementation are too naïve and don't scale well.  Sharing user sessions between web applications transparently  Essential for preserving the session state in case of a failure  Propagating user session across multiple data centers is not possible  Although most modern web sites using this topology.  Requires session replication over the WAN  High Web Server Memory Footprint  Storing the HTTP session in-process increasing web server memory footprint  Increasing the potential for garbage collection and long pauses. ® Copyright 2013 GigaSpaces. All Rights Reserved 2 WEB APP HTTP SESSION MANAGEMENT CHALLENGES

3  Caches HTTP Session within the In-Memory Data-Grid  Ensures superb performance and boost user experience  No risk for application memory  Unlimited scalability  Ensures High-Availability and total consistency  Cross JEE Container session sharing  Supports all major JEE servers on the market  Allows migrating from one JEE server to another in a gradual manner  Multi-site & Multi-Cloud topologies  Replicates sessions over the WAN across different cloud availability-zones or across different cloud providers  Both Active/Active and Active/Passive DR topologies support ® Copyright 2013 GigaSpaces. All Rights Reserved 3 MEET GIGASPACES GLOBAL HTTP SESSION SHARING

4  Transparent Web application Failover  Allow app server restart without any session data loss.  Any session data type attribute support  Primitive and Non-Primitive (collections, user defined types) attributes supported.  Serialized and Non-Serialized Session attributes support - Your attributes do not need to implement Serializable or Externalizable interface.  Sticky session and Non-sticky session support  Your requests can move across multiple instances of web application seamlessly.  Atomic HTTP request session access support  Multiple requests for the session attributes within the same HTTP request will be served without performing any remote calls.  Master session copy will be updated when the HTTP request will be completed.  Total session visibility  Session content can be viewed in real-time using rich client or web client.  Simple setup  5 min configuration and you are done! ® Copyright 2013 GigaSpaces. All Rights Reserved 4 AND THERE’S MORE…

5 HIGH LEVEL ARCHITECTURE ® Copyright 2013 GigaSpaces. All Rights Reserved5 Tomcat farm http session Websphere farm http session Jboss farm Weblogic farm http session Data Grid Data Grid

6 HTTP SESSION MANAGEMENT – A CLOSER LOOK ® Copyright 2013 GigaSpaces. All Rights Reserved6 Web application Temp cache Temp cache GigaSpaces Session Filter GigaSpaces Session Filter Delta Update http session http request/response Data Grid Data Grid App servlet App servlet

7 Data Grid Data Grid Data Grid Data Grid LOAD-BALANCING SCENARIOS SUPPORTED Non-Sticky session Sticky session X Session Sharing Session Failover

8 HTTP SESSION SHARING ACROSS DIFFERENT JEE SERVERS/REGIONS http session Jboss farm Tomcat farm Websphere farm Load balancer Data Grid Data Grid Data Grid Data Grid Data Grid Data Grid Delta Update

9 Data Center B Data Center A Web application Temp Cache Temp Cache App servlet App servlet Delta Update http session http request/response WAN Gateway Web application App servlet App servlet Temp Cache Temp Cache GigaSpaces Session Filter GigaSpaces Session Filter http session http request/response HTTP SESSION SHARING ACROSS DIFFERENT REGIONS Delta Update Data Grid Data Grid Data Grid Data Grid GigaSpaces Session Filter GigaSpaces Session Filter

10 US Site DE Site US Gateway Backup Partition 1 Primary Partition 1 Backup Partition 2 Primary Partition 2 DE Delegator Sink RU DE Gateway US Delegator Sink replication Proxy RU Backup Partition 1 Primary Partition 1 Backup Partition 2 Primary Partition 2 RU Site RU Gateway DE Delegator Sink replication Proxy US Backup Partition 1 Primary Partition 1 Backup Partition 2 Primary Partition 2 Websphere farm Jboss farm Tomcat farm Backup Partition 3 Primary Partition 3 Backup Partition 4 Primary Partition 4 Backup Partition 3 Primary Partition 3 replication Proxy HTTP SESSION SHARING ACROSS DIFFERENT REGIONS - HOW?

11  Improve User Experience caching user preferences and session information on external JVMs  Ensure Business Continuity & Scalability by Session High Availability.  Scale to unlimited number of sessions and concurrent users using share nothing in memory architecture.  No code change – 5 minutes configuration and you’re good to go.  Cross Containers Session sharing - share sessions between any Java Web / App server. Allows smooth rolling upgrade.  Atomic HTTP Request - Support concurrent session access  Delta Updates – Replicate only session changes  Non-Serializable Attributes Support – automatic serialization for non-primitive Attributes ® Copyright 2013 GigaSpaces. All Rights Reserved 11 SUMMARY - GIGASPACES UNIVERSAL HTTP SESSION

12 Configuring your web application to use GigaSpaces HTTP session cache 5 min task! ® Copyright 2013 GigaSpaces. All Rights Reserved 12

13 THE WEB_INF/WEB.XML FILE ® Copyright 2013 GigaSpaces. All Rights Reserved13.... org.apache.shiro.web.env.EnvironmentLoaderListener org.openspaces.sessions.shiro.GigaCacheManager ShiroFilter org.apache.shiro.web.servlet.ShiroFilter ShiroFilter /* Adding the following to your web.xml

14 THE WEB_INF/SHIRO.INI FILE ® Copyright 2013 GigaSpaces. All Rights Reserved14 [main] sessionManager = org.apache.shiro.web.session.mgt.StandardWebSessionManager #set the sessionManager to use an enterprise cache for backing storage: sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO sessionManager.sessionDAO = $sessionDAO sessionDAO.activeSessionsCacheName = jini://*/*/myDataGrid # ensure the securityManager uses our native SessionManager: securityManager.sessionManager = $sessionManager # whatever your CacheManager implementation is, for example: cacheManager = org.openspaces.sessions.shiro.GigaCacheManager cacheManager.sessionLease = 1800000 cacheManager.cacheSessionLocally = true # This will use GigaSpaces for _all_ of Shiro's caching needs (realms, etc), # not just for Session storage. securityManager.cacheManager = $cacheManager securityManager.sessionManager.defaultSessionTimeout = 1800000 # Session validation sessionValidationScheduler = org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler # Default is 3,600,000 millis = 1 hour: sessionValidationScheduler.interval = 1800000 sessionValidationScheduler.sessionManager = $sessionManager securityManager.sessionManager.sessionValidationScheduler = $sessionValidationScheduler Data Grid URL Sticky or non-sticky session

15 VALUE PROPOSITION AND MAIN FEATURES  Reduce App/Web server memory footprint  Storing the session within a remote JVM.  No code changes required  To share the session with other remote Web/App servers - Support *Serialized and Non-Serialized Session attributes. Your attributes do not need to implement Serializable or Externalizable interface.  Transparent Session sharing between any App/Web server  Any JEE app/web server (WebSphere, Weblogic, JBoss, Tomcat, Jetty, GlassFish...) may share their HTTP session with each other.  Application elasticity  Support session replication across different App/Web applications located within the same or different data-centers/clouds allowing the application to scale dynamically without any downtime.  Unlimited number of sessions and concurrent users  With sub-millisecond session access by using GigaSpaces In-Memory-Data-Grid.  Session replication over the WAN support  Utilizing GigaSpaces Multi-Site Replication over the WAN technology.Multi-Site Replication over the WAN  HTTP Session data access scalability  Session data can utilize any of the supported In-Memory-Data-Grid topologies ; replicated, partitioned, with and without local cache.  Transparent App/Web Failover  Allow app server restart without any session data loss.  Any session data type attribute support  Primitive and Non-Primitive (collections, user defined types) attributes supported.  Sticky session and Non-sticky session support  Your requests can move across multiple instances of web application seamlessly.  Atomic HTTP request session access support  Multiple requests for the session attributes within the same HTTP request will be served without performing any remote calls. Master session copy will be updated when the HTTP request will be completed.

16


Download ppt "GigaSpaces Global HTTP Session Sharing October 2013 Massive Web Application Scaling."

Similar presentations


Ads by Google