SlideShare a Scribd company logo
Non-functional benefits of Scaling your Web
Tier using Coherence*Web
Mark Addy, Consultant
Fast, Reliable, Manageable & Secure
HTTP Session Management
Life Before Coherence
Non-Clustered
SessionCache
Server
Application
Load-Balancer
SessionCache
Server
Application
SessionCache
Server
Application
Non-Clustered
• Sticky Session Load-Balancer
• No Redundancy
• Session Cache bloats Application JVM Heap
Clustered - Replicated
SessionCache
Server
Application
Load-Balancer
SessionCache
Server
Application
SessionCache
Server
Application
Clustered – Replicated
• Sticky Session Load-Balancer
• Redundancy / Failover
• Too much Redundancy?
• Session Cache bloats Application JVM Heap
• Replication overhead increases proportionally to the number
of nodes
• Adding more node != more Session Storage capacity
• Tuning and Scaling of the Session Cache is coupled to the
Application
Clustered – Backup / Buddy Replicas
SessionCache
Server
Application
Load-Balancer
SessionCache
Server
Application
SessionCache
Server
Application
Clustered – “Buddy Replicas”
• Sticky Session Load-Balancer
• Implementations
– WebLogic Clustering
– JBossCache Buddy Replication
– Tomcat Backup Manager
• Redundancy / Failover
• Redundancy is more realistic
• Adding more nodes == Increased session storage
• Session Cache bloats Application JVM Heap
• Tuning and Scaling of the Session Cache is coupled to the
Application
The Challenges
• Redundancy
– Transparent Failover
– Rolling upgrades / zero
downtime
• Coupling
– Independent Tuning
– Independent Scaling
• Latency
– High access HttpSession
Metadata / Attributes
Coherence*Web
Coherence*Web
• Http Session Management Module
• Built directly on top of Coherence
– Scalability
– Availability
– Reliability
– Performance
Coherence*Web Integration
Active Cache
Integration into WebLogic Server & GlassFish
• WebLogic 10.3.3+
– Requires installation of active-cache and coherence-web-
spi shared libraries
Active Cache
• Management via console or WLST
• Process control via Node Manager
– Including auto-restart for failed nodes
• Application Configuration via WebLogic Deployment
Descriptors
Other Containers
Supported
• Apache Tomcat 5.5.n, 6.0.n
• IBM WebSphere 5, 6, 7
• JBoss Application Server
• Jetty 5.1.n, 6.1n
• Oracle OC4J 10.1.2.n, 10.1.3.n
• Oracle WebLogic 9, 10
• Sun Application Server
• Sun GlassFish 2.n
Stage 1 - Inspection
java -jar webInstaller.jar ${war} -inspect -server:Tomcat/6.0.x
• Generates Coherence*Web parameters for target container (coherence-web.xml)
• Amend settings in this file prior to the installation stage
Stage 2 - Installation / Instrumentation
java -jar webInstaller.jar ${war} -install
• Applies Coherence*Web context parameters to Application web.xml
using the coherence-web.xml file generated in the inspection step
• Unregisters Application ServletContext, ServletRequest and
HttpSession Listeners
• Registers Coherence*Web ServletContext Listeners
• Wraps Servlets with Coherence*Web SessionServlet
• Wraps JSP’s with Coherence*Web JspServlet
Redundancy, Availability & Scalability
Partitioned / Distributed Clustering
SessionCache
Server
Application
Load-Balancer
SessionCache
Server
Application
SessionCache
Server
Application
Partitioned / Distributed Clustering
• Configurable Number of back-ups
• Coherence Grid hides data-location
• Dynamic Scaling
• Replication overhead does not increase with cluster size
• Sticky Sessions might not be routed to the Node owning the
data
The Coupling Challenge
Coherence*Web Topology
Traditional Http Session Caches are embedded
We have a choice to make:
• In-process
– Embedded
• Out of process
– Storage disabled
• Out of process
– Coherence*Extend
In-Process
In-Process
Coherence
Node
Server
Application
Coherence
Node
Server
Application
Coherence
Node
Server
Application
Coherence
Node
Server
Application
In Process
• Fast In memory access when replicated
• Low session numbers
• Good for Development
• Application shares same JVM as Cache
– Unable to Scale independently
– Unable to Tune Application and Cache independently
– Restarts of Application Nodes impact the cluster
– Increased Heap size and GC pauses
Out of Process Storage Disabled
Out of Process Storage Disabled
Coherence
Node
Server
Application
Coherence
Node
Cache Server
Coherence
Node
Server
Application
Coherence
Node
Server
Application
Coherence
Node
Server
Application
Coherence
Node
Cache Server
Coherence
Node
Cache Server
Out of Process Storage Disabled
• Straight forward to configure
-Dtangosol.distributed.local.storage=false
• Application and Cache are separated
– Independent tuning
– Independent scaling
– Looser Coupling
• Application and Cache Tiers are Clustered
Out of Process Coherence*Extend
Out of Process Coherence*Extend
Server
Application
Coherence
Node
Cache Server
Coherence
Node
Cache Server
Coherence
Node
Cache Server
Coherence
Proxy
Cache Server
Coherence
Proxy
Cache Server
Server
Application
Server
Application
Server
Application
Out of Process Coherence*Extend
• Application and Cache are totally separated
– Independent tuning
• Throughput Collector for Application?
• Low Pause Collector for Cache?
– Independent scaling
– De-coupled
– Reduced memory requirement for Application JVM
– Sharing Session Cache is possible
– Increased Latency
The Latency Challenge
Coherence*Extend Latency
Server
Application
Cache Server Cache Server Cache Server
Coherence
Proxy
Cache Server
Coherence
Proxy
Cache Server
Server
Application
Server
Application
Server
Application
SessionCache SessionCache SessionCache
Reducing Latency
We have control over the Coherence Cache Configuration
<near-scheme>
<scheme-name>near-cache-scheme</scheme-name>
<front-scheme>
<local-scheme>
<scheme-ref>limited-local-near-cache</scheme-ref>
</local-scheme>
</front-scheme>
<back-scheme>
<remote-cache-scheme>
<scheme-ref>unlimited-partitioned-remote-cache</scheme-ref>
</remote-cache-scheme>
</back-scheme>
</near-scheme>
Coherence*Extend Latency
Server
Application
Cache Server Cache Server Cache Server
Coherence
Proxy
Cache Server
Coherence
Proxy
Cache Server
SessionCache SessionCache SessionCache
Server
Application
Server
Application
Server
Application
Near Cache
• Front scheme is a subset of the Back scheme
• Local caching for high access cache entries
• Reduced Latency
• Brings session state close for Sticky Sessions
• Size limited to ensure Application heap is kept
under control
Latency & The Session Model
Session Models
Coherence*Web Session Models
• Traditional
• Monolithic
• Split
The Http Session
• MetaData
• Last Accessed Time
• Created Time
• ID
• Attributes
• Store what you want!
• Not all Attributes are equal...
Traditional
Traditional
HTTP Session
Attribute 1
Coherence Node
Attribute 2
Attribute 3
Attribute 4
...1010011011...
...1010011011...
...1010011011...
...1010011011...
3
CacheKey
HTTP Session ID
1 2
4
Cache Value
Traditional
HTTP Session
Attribute 1
Attribute 2
Attribute 3
Attribute 4
...10101...
...10101...
...10101...
...10111...
Person
HTTP Session
Attribute 1
Attribute 2
Attribute 3
Attribute 4
Person
Person
Traditional
• Good for small Sessions
• Each Attribute is Serialized Independently
• All Attributes are transferred together
• Doesn’t work when attribute values point at the
same Object
mon·o·lith·ic
Monolithic
HTTP Session
Attribute 1
Coherence Node
Attribute 2
Attribute 3
Attribute 4
...10101011010110011
1010100010100011...
CacheKey
HTTP Session ID
Attributes 1,
2, 3 & 4
Cache Value
Monolithic
HTTP Session
Attribute 1
Attribute 2
Attribute 3
Attribute 4
Person
HTTP Session
Attribute 1
Attribute 2
Attribute 3
Attribute 4
Person
...101111
010011...
Monolithic
• Good when your Session attributes require shared
Object references to be preserved
• Attributes are Serialized together
• All Attributes are transferred together
• Expensive – entire Session must be Serialized into a
single Object Stream
Split
Split
HTTP Session
Attribute 1
Coherence Node
Attribute 2
Attribute 3
Attribute 4
...1010011011...
...1010011011...
...1010011011...
...1010011011...
CacheKey
Session ID
1 2
Cache Value
4
CacheKey
Session ID:4
Cache Value
3
CacheKey
Session ID:3
Cache Value
Split
• Default Coherence*Web Session Model
• Attributes are Serialized independently
• Large Attributes are transferred independently
• Reduces network traffic
• Separated handling of small and large attributes
• Configurable “Large” Attribute Threshold
Split in Action
Cache Server
session-storage
session-overflow
Server
Application
session-storage
Server
Application
session-storage
Server
Application
session-storage
Cache Proxy Cache Proxy
Cache Server
session-storage
session-overflow
Near Local cache
“small” session
attributes and
Meta Data
Partitioned
Remote cache
“small” session
attributes and
Meta Data
Partitioned
Remote cache
“large” session
attributes
Split
• Large Session Attributes are off-loaded to a remote
cache scheme
• Frequently accessed attributes and MetaData held in
near cache for performance
Tracking Attribute Changes
• Initial binary value vs New Binary Value
– Object is mutable?
– Initial == new (no change)
– Initial != new (write to cache)
• Check can be overridden if you never mutate attributes
without calling HttpSession.setAttribute
– Removing the check improves performance
<context-param>
<param-name>coherence-enable-suspect-attributes</param-name>
<param-value>false</param-value>
</context-param>
Cluster Isolation
Cluster Isolation Scope
• Container
• Enterprise Archive
• Web Archive
Determined by Class-loading Scope
Container Scoping
Application Server
Enterprise Archive
Web Archive
Web Archive
Web Archive
Web Archive
Coherence Node
Application Server
Enterprise Archive
Web Archive
Web Archive
Web Archive
Web Archive
Coherence Node
Container Scoping
• Least Overhead
– Libraries deployed on Container Class Path
– Number of loaded Classes
– Lowest Memory Requirement
– One Coherence Cluster Node per Container
• Least Separation
– Multiple Applications share the same Cluster
– Can be problematic...
Enterprise Archive Scoping
Application Server
Enterprise Archive
Web Archive
Web Archive
Coherence Node
Enterprise Archive
Web Archive
Web Archive
Coherence Node
Application Server
Enterprise Archive
Web Archive
Web Archive
Coherence Node
Enterprise Archive
Web Archive
Web Archive
Coherence Node
Enterprise Archive Scoping
• Overhead
– Libraries scoped to EAR
– One Coherence Cluster Node per Application
• Separation
– Applications within the EAR share the same Cluster
<weblogic-application>
...
<library-ref>
<library-name>coherence</library-name>
</library-ref>
...
<library-ref>
<library-name>active-cache</library-name>
</library-ref>
...
</weblogic-application>
Web Archive Scoping
Application Server
Web Archive
Coherence Node
Web Archive
Coherence Node
Web Archive
Coherence Node
Application Server
Web Archive
Coherence Node
Web Archive
Coherence Node
Web Archive
Coherence Node
Web Archive Scoping
• Overhead
– Libraries scoped to WAR
– One Coherence Cluster Node per Web Archive
• Separation
– Each Web Archive participates in its own cluster
– Total Independence from negative external factors
Reference via MANIFEST.MF
Manifest-Version: 1.0
Extension-List: coherence active-cache
coherence-Extension-Name: coherence
active-cache-Extension-Name: active-cache
...or package in WEB-INF/lib
So what can we do?
Application Tier Shutdown
Application Tier Shutdown
Coherence
Near Cache
Server
Application
Coherence
Node
Cache Server
Coherence
Node
Cache Server
Coherence
Node
Cache Server
Coherence
Near Cache
Server
Application
Coherence
Near Cache
Server
Application
Coherence
Near Cache
Server
Application
Cache Proxy Cache Proxy
Application Tier Shutdown
• Application and Cache are totally separated
– Session State is retained by the Cache Tier
Sharing Sessions
Sharing Session State Across Applications &
Containers
WLS Server
Application A
WLS Server
Application B
Apache Tomcat
Application C
Cache Proxy Cache Proxy
...
Cache Server Cache Server Cache Server
SessionCache SessionCache SessionCache
Session & Attribute Scoping
Session Scoping
• For Applications running under separate domains without a
load-balancer:
– http://consulting.c2b2.com
– http://marketing.c2b2.com
<context-param>
<param-name>coherence-session-cookie-domain</param-name>
<param-value>.c2b2.com</param-value>
</context-param>
• For Applications with different context paths:
– http://www.acme.com/shared/portal
– http://www.acme.com/shared/trading
<context-param>
<param-name>coherence-session-cookie-path</param-name>
<param-value>/shared</param-value>
</context-param>
Session Attribute Scoping
<context-param>
<param-name>coherence-scopecontroller-class</param-name>
<param-value>...</param-value>
</context-param>
• Global Scoping
– AbstractHttpSessionCollection$GlobalScopeController
• Application Scoping
– AbstractHttpSessionCollection$ApplicationScopeController
– Allows different applications sharing HttpSessions to use identically named
attributes in isolation
– Default implementation applies a configurable prefix
– Pluggable control over whether attributes are shared or isolated
<context-param>
<param-name>coherence-application-name</param-name>
<param-value>session-attribute-prefix</param-value>
</context-param>
Demo
Summary
• Independent Scaling
• Independent Tuning
• Near Cache Optimization offsets remote Latency
• Split Session Model Attribute separation
• Redundancy
• Scalability
• Availability
• Performance
Thanks for Listening
Any Questions?
http://www.c2b2.co.uk
http://blog.c2b2.co.uk
@c2b2consulting
Ad

More Related Content

What's hot (20)

Oracle WebLogic 11g Topology
Oracle WebLogic 11g TopologyOracle WebLogic 11g Topology
Oracle WebLogic 11g Topology
Rakesh Gujjarlapudi
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
Vybhava Technologies
 
WLST
WLSTWLST
WLST
Bhavya Siddappa
 
Weblogic security
Weblogic securityWeblogic security
Weblogic security
Aditya Bhuyan
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
Michel Schildmeijer
 
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and TroubleshootOracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Michel Schildmeijer
 
Changes in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must KnowChanges in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must Know
Bruno Borges
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
Revelation Technologies
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
Frank Munz
 
Oracle WebLogic: Feature Timeline from WLS9 to WLS 12c
Oracle WebLogic: Feature Timeline from WLS9 to WLS 12cOracle WebLogic: Feature Timeline from WLS9 to WLS 12c
Oracle WebLogic: Feature Timeline from WLS9 to WLS 12c
frankmunz
 
Oracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and ManagementOracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and Management
Revelation Technologies
 
weblogic training | oracle weblogic online training | weblogic server course
weblogic training | oracle weblogic online training | weblogic server courseweblogic training | oracle weblogic online training | weblogic server course
weblogic training | oracle weblogic online training | weblogic server course
Nancy Thomas
 
WebLogic FAQs
WebLogic FAQsWebLogic FAQs
WebLogic FAQs
Amit Sharma
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2
Aditya Bhuyan
 
Oracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration IOracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration I
Sachin Kumar
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOps
Frank Munz
 
Weblogic application server
Weblogic application serverWeblogic application server
Weblogic application server
Anuj Tomar
 
WebLogic for DBAs
WebLogic for DBAsWebLogic for DBAs
WebLogic for DBAs
Simon Haslam
 
WLS
WLSWLS
WLS
Bebo Yu
 
Powering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogicPowering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogic
Lucas Jellema
 
Oracle WebLogic 11g Topology
Oracle WebLogic 11g TopologyOracle WebLogic 11g Topology
Oracle WebLogic 11g Topology
Rakesh Gujjarlapudi
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
Vybhava Technologies
 
Weblogic security
Weblogic securityWeblogic security
Weblogic security
Aditya Bhuyan
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
Michel Schildmeijer
 
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and TroubleshootOracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Michel Schildmeijer
 
Changes in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must KnowChanges in WebLogic 12.1.3 Every Administrator Must Know
Changes in WebLogic 12.1.3 Every Administrator Must Know
Bruno Borges
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
Revelation Technologies
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
Frank Munz
 
Oracle WebLogic: Feature Timeline from WLS9 to WLS 12c
Oracle WebLogic: Feature Timeline from WLS9 to WLS 12cOracle WebLogic: Feature Timeline from WLS9 to WLS 12c
Oracle WebLogic: Feature Timeline from WLS9 to WLS 12c
frankmunz
 
Oracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and ManagementOracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and Management
Revelation Technologies
 
weblogic training | oracle weblogic online training | weblogic server course
weblogic training | oracle weblogic online training | weblogic server courseweblogic training | oracle weblogic online training | weblogic server course
weblogic training | oracle weblogic online training | weblogic server course
Nancy Thomas
 
WebLogic FAQs
WebLogic FAQsWebLogic FAQs
WebLogic FAQs
Amit Sharma
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2
Aditya Bhuyan
 
Oracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration IOracle Weblogic Server 11g: System Administration I
Oracle Weblogic Server 11g: System Administration I
Sachin Kumar
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOps
Frank Munz
 
Weblogic application server
Weblogic application serverWeblogic application server
Weblogic application server
Anuj Tomar
 
WebLogic for DBAs
WebLogic for DBAsWebLogic for DBAs
WebLogic for DBAs
Simon Haslam
 
WLS
WLSWLS
WLS
Bebo Yu
 
Powering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogicPowering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogic
Lucas Jellema
 

Viewers also liked (8)

Smith Scaling Java Applications With Coherence
Smith Scaling Java Applications With CoherenceSmith Scaling Java Applications With Coherence
Smith Scaling Java Applications With Coherence
Snoop Consulting
 
Hands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performanceHands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performance
C2B2 Consulting
 
JBoss Clustering on OpenShift
JBoss Clustering on OpenShiftJBoss Clustering on OpenShift
JBoss Clustering on OpenShift
C2B2 Consulting
 
Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!
C2B2 Consulting
 
C2B2 A la carte JBoss Training
C2B2 A la carte JBoss TrainingC2B2 A la carte JBoss Training
C2B2 A la carte JBoss Training
C2B2 Consulting
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at Oracle
Emiliano Pecis
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Oracle
 
Oracle Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
Liran Zelkha
 
Smith Scaling Java Applications With Coherence
Smith Scaling Java Applications With CoherenceSmith Scaling Java Applications With Coherence
Smith Scaling Java Applications With Coherence
Snoop Consulting
 
Hands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performanceHands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performance
C2B2 Consulting
 
JBoss Clustering on OpenShift
JBoss Clustering on OpenShiftJBoss Clustering on OpenShift
JBoss Clustering on OpenShift
C2B2 Consulting
 
Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!
C2B2 Consulting
 
C2B2 A la carte JBoss Training
C2B2 A la carte JBoss TrainingC2B2 A la carte JBoss Training
C2B2 A la carte JBoss Training
C2B2 Consulting
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at Oracle
Emiliano Pecis
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Oracle
 
Oracle Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
Liran Zelkha
 
Ad

Similar to Coherence sig-nfr-web-tier-scaling-using-coherence-web (20)

WSO2 Application Server
WSO2 Application ServerWSO2 Application Server
WSO2 Application Server
Sagara Gunathunga
 
Introduction to weblogic
Introduction to weblogicIntroduction to weblogic
Introduction to weblogic
Vishal Srivastava
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
Michael Collier
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
Building & Testing Scalable Rails Applications
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applications
evilmike
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
Jess Coburn
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
Edward Burns
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
Michel Schildmeijer
 
Weblogic
WeblogicWeblogic
Weblogic
sudeeporcl
 
Building a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerBuilding a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServer
Afkham Azeez
 
UNIT - 5.pptx Servlets And Database Connectivity
UNIT - 5.pptx  Servlets And Database ConnectivityUNIT - 5.pptx  Servlets And Database Connectivity
UNIT - 5.pptx Servlets And Database Connectivity
bmit1
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
pkaviya
 
Oracle Web Logic server
Oracle Web Logic serverOracle Web Logic server
Oracle Web Logic server
Rakesh Gujjarlapudi
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
Dennis van der Stelt
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
Phil Pursglove
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Claudia Ring
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
IBM DevOps
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
David Newman
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
Orkhan Gasimov
 
WSO2 Application Server
WSO2 Application ServerWSO2 Application Server
WSO2 Application Server
Sagara Gunathunga
 
Introduction to weblogic
Introduction to weblogicIntroduction to weblogic
Introduction to weblogic
Vishal Srivastava
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
Michael Collier
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
Building & Testing Scalable Rails Applications
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applications
evilmike
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
Jess Coburn
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
Edward Burns
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
Michel Schildmeijer
 
Weblogic
WeblogicWeblogic
Weblogic
sudeeporcl
 
Building a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerBuilding a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServer
Afkham Azeez
 
UNIT - 5.pptx Servlets And Database Connectivity
UNIT - 5.pptx  Servlets And Database ConnectivityUNIT - 5.pptx  Servlets And Database Connectivity
UNIT - 5.pptx Servlets And Database Connectivity
bmit1
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
pkaviya
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
Phil Pursglove
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Claudia Ring
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
IBM DevOps
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
David Newman
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
Orkhan Gasimov
 
Ad

More from C2B2 Consulting (20)

Monitoring Oracle SOA Suite - UKOUG Tech15 2015
Monitoring Oracle SOA Suite - UKOUG Tech15 2015Monitoring Oracle SOA Suite - UKOUG Tech15 2015
Monitoring Oracle SOA Suite - UKOUG Tech15 2015
C2B2 Consulting
 
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx PolandHands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
C2B2 Consulting
 
Monitoring Oracle SOA Suite
Monitoring Oracle SOA SuiteMonitoring Oracle SOA Suite
Monitoring Oracle SOA Suite
C2B2 Consulting
 
Advanced queries on the Infinispan Data Grid
Advanced queries on the Infinispan Data Grid Advanced queries on the Infinispan Data Grid
Advanced queries on the Infinispan Data Grid
C2B2 Consulting
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLST
C2B2 Consulting
 
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
C2B2 Consulting
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleOracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
C2B2 Consulting
 
Java Middleware Surgery
Java Middleware Surgery Java Middleware Surgery
Java Middleware Surgery
C2B2 Consulting
 
Jax London 2013
Jax London 2013Jax London 2013
Jax London 2013
C2B2 Consulting
 
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
C2B2 Consulting
 
'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker' 'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker'
C2B2 Consulting
 
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit' 'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
C2B2 Consulting
 
'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin
C2B2 Consulting
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
C2B2 Consulting
 
GeeCon- 'www.NoSQL.com' by Mark Addy
GeeCon- 'www.NoSQL.com' by Mark Addy GeeCon- 'www.NoSQL.com' by Mark Addy
GeeCon- 'www.NoSQL.com' by Mark Addy
C2B2 Consulting
 
Monitoring VMware vFabric with Hyperic and Spring Insight
Monitoring VMware vFabric with Hyperic and Spring InsightMonitoring VMware vFabric with Hyperic and Spring Insight
Monitoring VMware vFabric with Hyperic and Spring Insight
C2B2 Consulting
 
Middleware Expert Support Presentation
Middleware Expert Support PresentationMiddleware Expert Support Presentation
Middleware Expert Support Presentation
C2B2 Consulting
 
Monitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ONMonitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ON
C2B2 Consulting
 
Monitoring Oracle SOA Suite - UKOUG Tech15 2015
Monitoring Oracle SOA Suite - UKOUG Tech15 2015Monitoring Oracle SOA Suite - UKOUG Tech15 2015
Monitoring Oracle SOA Suite - UKOUG Tech15 2015
C2B2 Consulting
 
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx PolandHands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
C2B2 Consulting
 
Monitoring Oracle SOA Suite
Monitoring Oracle SOA SuiteMonitoring Oracle SOA Suite
Monitoring Oracle SOA Suite
C2B2 Consulting
 
Advanced queries on the Infinispan Data Grid
Advanced queries on the Infinispan Data Grid Advanced queries on the Infinispan Data Grid
Advanced queries on the Infinispan Data Grid
C2B2 Consulting
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLST
C2B2 Consulting
 
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
C2B2 Consulting
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleOracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
C2B2 Consulting
 
Java Middleware Surgery
Java Middleware Surgery Java Middleware Surgery
Java Middleware Surgery
C2B2 Consulting
 
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SI...
C2B2 Consulting
 
'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker' 'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker'
C2B2 Consulting
 
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit' 'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
C2B2 Consulting
 
'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin
C2B2 Consulting
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
C2B2 Consulting
 
GeeCon- 'www.NoSQL.com' by Mark Addy
GeeCon- 'www.NoSQL.com' by Mark Addy GeeCon- 'www.NoSQL.com' by Mark Addy
GeeCon- 'www.NoSQL.com' by Mark Addy
C2B2 Consulting
 
Monitoring VMware vFabric with Hyperic and Spring Insight
Monitoring VMware vFabric with Hyperic and Spring InsightMonitoring VMware vFabric with Hyperic and Spring Insight
Monitoring VMware vFabric with Hyperic and Spring Insight
C2B2 Consulting
 
Middleware Expert Support Presentation
Middleware Expert Support PresentationMiddleware Expert Support Presentation
Middleware Expert Support Presentation
C2B2 Consulting
 
Monitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ONMonitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ON
C2B2 Consulting
 

Recently uploaded (20)

Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 

Coherence sig-nfr-web-tier-scaling-using-coherence-web

  • 1. Non-functional benefits of Scaling your Web Tier using Coherence*Web
  • 2. Mark Addy, Consultant Fast, Reliable, Manageable & Secure
  • 6. Non-Clustered • Sticky Session Load-Balancer • No Redundancy • Session Cache bloats Application JVM Heap
  • 8. Clustered – Replicated • Sticky Session Load-Balancer • Redundancy / Failover • Too much Redundancy? • Session Cache bloats Application JVM Heap • Replication overhead increases proportionally to the number of nodes • Adding more node != more Session Storage capacity • Tuning and Scaling of the Session Cache is coupled to the Application
  • 9. Clustered – Backup / Buddy Replicas SessionCache Server Application Load-Balancer SessionCache Server Application SessionCache Server Application
  • 10. Clustered – “Buddy Replicas” • Sticky Session Load-Balancer • Implementations – WebLogic Clustering – JBossCache Buddy Replication – Tomcat Backup Manager • Redundancy / Failover • Redundancy is more realistic • Adding more nodes == Increased session storage • Session Cache bloats Application JVM Heap • Tuning and Scaling of the Session Cache is coupled to the Application
  • 11. The Challenges • Redundancy – Transparent Failover – Rolling upgrades / zero downtime • Coupling – Independent Tuning – Independent Scaling • Latency – High access HttpSession Metadata / Attributes
  • 13. Coherence*Web • Http Session Management Module • Built directly on top of Coherence – Scalability – Availability – Reliability – Performance
  • 15. Active Cache Integration into WebLogic Server & GlassFish • WebLogic 10.3.3+ – Requires installation of active-cache and coherence-web- spi shared libraries
  • 16. Active Cache • Management via console or WLST • Process control via Node Manager – Including auto-restart for failed nodes • Application Configuration via WebLogic Deployment Descriptors
  • 18. Supported • Apache Tomcat 5.5.n, 6.0.n • IBM WebSphere 5, 6, 7 • JBoss Application Server • Jetty 5.1.n, 6.1n • Oracle OC4J 10.1.2.n, 10.1.3.n • Oracle WebLogic 9, 10 • Sun Application Server • Sun GlassFish 2.n
  • 19. Stage 1 - Inspection java -jar webInstaller.jar ${war} -inspect -server:Tomcat/6.0.x • Generates Coherence*Web parameters for target container (coherence-web.xml) • Amend settings in this file prior to the installation stage
  • 20. Stage 2 - Installation / Instrumentation java -jar webInstaller.jar ${war} -install • Applies Coherence*Web context parameters to Application web.xml using the coherence-web.xml file generated in the inspection step • Unregisters Application ServletContext, ServletRequest and HttpSession Listeners • Registers Coherence*Web ServletContext Listeners • Wraps Servlets with Coherence*Web SessionServlet • Wraps JSP’s with Coherence*Web JspServlet
  • 22. Partitioned / Distributed Clustering SessionCache Server Application Load-Balancer SessionCache Server Application SessionCache Server Application
  • 23. Partitioned / Distributed Clustering • Configurable Number of back-ups • Coherence Grid hides data-location • Dynamic Scaling • Replication overhead does not increase with cluster size • Sticky Sessions might not be routed to the Node owning the data
  • 25. Coherence*Web Topology Traditional Http Session Caches are embedded We have a choice to make: • In-process – Embedded • Out of process – Storage disabled • Out of process – Coherence*Extend
  • 28. In Process • Fast In memory access when replicated • Low session numbers • Good for Development • Application shares same JVM as Cache – Unable to Scale independently – Unable to Tune Application and Cache independently – Restarts of Application Nodes impact the cluster – Increased Heap size and GC pauses
  • 29. Out of Process Storage Disabled
  • 30. Out of Process Storage Disabled Coherence Node Server Application Coherence Node Cache Server Coherence Node Server Application Coherence Node Server Application Coherence Node Server Application Coherence Node Cache Server Coherence Node Cache Server
  • 31. Out of Process Storage Disabled • Straight forward to configure -Dtangosol.distributed.local.storage=false • Application and Cache are separated – Independent tuning – Independent scaling – Looser Coupling • Application and Cache Tiers are Clustered
  • 32. Out of Process Coherence*Extend
  • 33. Out of Process Coherence*Extend Server Application Coherence Node Cache Server Coherence Node Cache Server Coherence Node Cache Server Coherence Proxy Cache Server Coherence Proxy Cache Server Server Application Server Application Server Application
  • 34. Out of Process Coherence*Extend • Application and Cache are totally separated – Independent tuning • Throughput Collector for Application? • Low Pause Collector for Cache? – Independent scaling – De-coupled – Reduced memory requirement for Application JVM – Sharing Session Cache is possible – Increased Latency
  • 36. Coherence*Extend Latency Server Application Cache Server Cache Server Cache Server Coherence Proxy Cache Server Coherence Proxy Cache Server Server Application Server Application Server Application SessionCache SessionCache SessionCache
  • 37. Reducing Latency We have control over the Coherence Cache Configuration <near-scheme> <scheme-name>near-cache-scheme</scheme-name> <front-scheme> <local-scheme> <scheme-ref>limited-local-near-cache</scheme-ref> </local-scheme> </front-scheme> <back-scheme> <remote-cache-scheme> <scheme-ref>unlimited-partitioned-remote-cache</scheme-ref> </remote-cache-scheme> </back-scheme> </near-scheme>
  • 38. Coherence*Extend Latency Server Application Cache Server Cache Server Cache Server Coherence Proxy Cache Server Coherence Proxy Cache Server SessionCache SessionCache SessionCache Server Application Server Application Server Application
  • 39. Near Cache • Front scheme is a subset of the Back scheme • Local caching for high access cache entries • Reduced Latency • Brings session state close for Sticky Sessions • Size limited to ensure Application heap is kept under control
  • 40. Latency & The Session Model
  • 41. Session Models Coherence*Web Session Models • Traditional • Monolithic • Split The Http Session • MetaData • Last Accessed Time • Created Time • ID • Attributes • Store what you want! • Not all Attributes are equal...
  • 43. Traditional HTTP Session Attribute 1 Coherence Node Attribute 2 Attribute 3 Attribute 4 ...1010011011... ...1010011011... ...1010011011... ...1010011011... 3 CacheKey HTTP Session ID 1 2 4 Cache Value
  • 44. Traditional HTTP Session Attribute 1 Attribute 2 Attribute 3 Attribute 4 ...10101... ...10101... ...10101... ...10111... Person HTTP Session Attribute 1 Attribute 2 Attribute 3 Attribute 4 Person Person
  • 45. Traditional • Good for small Sessions • Each Attribute is Serialized Independently • All Attributes are transferred together • Doesn’t work when attribute values point at the same Object
  • 47. Monolithic HTTP Session Attribute 1 Coherence Node Attribute 2 Attribute 3 Attribute 4 ...10101011010110011 1010100010100011... CacheKey HTTP Session ID Attributes 1, 2, 3 & 4 Cache Value
  • 48. Monolithic HTTP Session Attribute 1 Attribute 2 Attribute 3 Attribute 4 Person HTTP Session Attribute 1 Attribute 2 Attribute 3 Attribute 4 Person ...101111 010011...
  • 49. Monolithic • Good when your Session attributes require shared Object references to be preserved • Attributes are Serialized together • All Attributes are transferred together • Expensive – entire Session must be Serialized into a single Object Stream
  • 50. Split
  • 51. Split HTTP Session Attribute 1 Coherence Node Attribute 2 Attribute 3 Attribute 4 ...1010011011... ...1010011011... ...1010011011... ...1010011011... CacheKey Session ID 1 2 Cache Value 4 CacheKey Session ID:4 Cache Value 3 CacheKey Session ID:3 Cache Value
  • 52. Split • Default Coherence*Web Session Model • Attributes are Serialized independently • Large Attributes are transferred independently • Reduces network traffic • Separated handling of small and large attributes • Configurable “Large” Attribute Threshold
  • 53. Split in Action Cache Server session-storage session-overflow Server Application session-storage Server Application session-storage Server Application session-storage Cache Proxy Cache Proxy Cache Server session-storage session-overflow Near Local cache “small” session attributes and Meta Data Partitioned Remote cache “small” session attributes and Meta Data Partitioned Remote cache “large” session attributes
  • 54. Split • Large Session Attributes are off-loaded to a remote cache scheme • Frequently accessed attributes and MetaData held in near cache for performance
  • 55. Tracking Attribute Changes • Initial binary value vs New Binary Value – Object is mutable? – Initial == new (no change) – Initial != new (write to cache) • Check can be overridden if you never mutate attributes without calling HttpSession.setAttribute – Removing the check improves performance <context-param> <param-name>coherence-enable-suspect-attributes</param-name> <param-value>false</param-value> </context-param>
  • 57. Cluster Isolation Scope • Container • Enterprise Archive • Web Archive Determined by Class-loading Scope
  • 58. Container Scoping Application Server Enterprise Archive Web Archive Web Archive Web Archive Web Archive Coherence Node Application Server Enterprise Archive Web Archive Web Archive Web Archive Web Archive Coherence Node
  • 59. Container Scoping • Least Overhead – Libraries deployed on Container Class Path – Number of loaded Classes – Lowest Memory Requirement – One Coherence Cluster Node per Container • Least Separation – Multiple Applications share the same Cluster – Can be problematic...
  • 60. Enterprise Archive Scoping Application Server Enterprise Archive Web Archive Web Archive Coherence Node Enterprise Archive Web Archive Web Archive Coherence Node Application Server Enterprise Archive Web Archive Web Archive Coherence Node Enterprise Archive Web Archive Web Archive Coherence Node
  • 61. Enterprise Archive Scoping • Overhead – Libraries scoped to EAR – One Coherence Cluster Node per Application • Separation – Applications within the EAR share the same Cluster <weblogic-application> ... <library-ref> <library-name>coherence</library-name> </library-ref> ... <library-ref> <library-name>active-cache</library-name> </library-ref> ... </weblogic-application>
  • 62. Web Archive Scoping Application Server Web Archive Coherence Node Web Archive Coherence Node Web Archive Coherence Node Application Server Web Archive Coherence Node Web Archive Coherence Node Web Archive Coherence Node
  • 63. Web Archive Scoping • Overhead – Libraries scoped to WAR – One Coherence Cluster Node per Web Archive • Separation – Each Web Archive participates in its own cluster – Total Independence from negative external factors Reference via MANIFEST.MF Manifest-Version: 1.0 Extension-List: coherence active-cache coherence-Extension-Name: coherence active-cache-Extension-Name: active-cache ...or package in WEB-INF/lib
  • 64. So what can we do?
  • 66. Application Tier Shutdown Coherence Near Cache Server Application Coherence Node Cache Server Coherence Node Cache Server Coherence Node Cache Server Coherence Near Cache Server Application Coherence Near Cache Server Application Coherence Near Cache Server Application Cache Proxy Cache Proxy
  • 67. Application Tier Shutdown • Application and Cache are totally separated – Session State is retained by the Cache Tier
  • 69. Sharing Session State Across Applications & Containers WLS Server Application A WLS Server Application B Apache Tomcat Application C Cache Proxy Cache Proxy ... Cache Server Cache Server Cache Server SessionCache SessionCache SessionCache
  • 71. Session Scoping • For Applications running under separate domains without a load-balancer: – http://consulting.c2b2.com – http://marketing.c2b2.com <context-param> <param-name>coherence-session-cookie-domain</param-name> <param-value>.c2b2.com</param-value> </context-param> • For Applications with different context paths: – http://www.acme.com/shared/portal – http://www.acme.com/shared/trading <context-param> <param-name>coherence-session-cookie-path</param-name> <param-value>/shared</param-value> </context-param>
  • 72. Session Attribute Scoping <context-param> <param-name>coherence-scopecontroller-class</param-name> <param-value>...</param-value> </context-param> • Global Scoping – AbstractHttpSessionCollection$GlobalScopeController • Application Scoping – AbstractHttpSessionCollection$ApplicationScopeController – Allows different applications sharing HttpSessions to use identically named attributes in isolation – Default implementation applies a configurable prefix – Pluggable control over whether attributes are shared or isolated <context-param> <param-name>coherence-application-name</param-name> <param-value>session-attribute-prefix</param-value> </context-param>
  • 73. Demo
  • 74. Summary • Independent Scaling • Independent Tuning • Near Cache Optimization offsets remote Latency • Split Session Model Attribute separation • Redundancy • Scalability • Availability • Performance
  • 75. Thanks for Listening Any Questions? http://www.c2b2.co.uk http://blog.c2b2.co.uk @c2b2consulting

Editor's Notes

  • #54: There are actually some more caches involved here:session-managementThis cache is used to store internal configuration and management information for the session management implementation. This information is updated infrequently; therefore, it is a replicated cache by default.servletcontext-storageIf ServletContext attribute clustering is enabled (it is disabled by default), this cache is used to store ServletContext attributes. This cache is replicated by default, as it is expected that there will a few read-mostly attributes.session-storageThis cache is used to store session models. By default it is mapped to a near cache backed by a distributed cache since it is expected that a container will access and modify a subset of sessions multiple times (assuming that sticky session load balancing is configured.)session-overflowIf the coherence-sessioncollection-class parameter is set to com.tangosol.coherence.servlet.SplitHttpSessionCollection, this cache will hold &quot;large&quot; session attributes. By default, session attributes larger than 1K will be stored in this cache. This is configured as a distributed cache.session-death-certificatesRecently expired session IDs are stored in this cache in order to prevent reuse of a recently used session ID. By default, each storage node will hold up to 4000 session IDs, and session IDs will be evicted after 24 hours. This is configured as a distributed cache.
  • #56: Improves memory performance and near cache usageOld binary value must be cached for the test to take place