SlideShare uma empresa Scribd logo
1 de 75
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

Mais conteúdo relacionado

Mais procurados

WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outlineVybhava Technologies
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningMichel 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 TroubleshootMichel 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 KnowBruno Borges
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationRevelation 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 12cfrankmunz
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
 
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 ManagementRevelation 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 courseNancy Thomas
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2Aditya 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 ISachin Kumar
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOpsFrank Munz
 
Weblogic application server
Weblogic application serverWeblogic application server
Weblogic application serverAnuj Tomar
 

Mais procurados (20)

Oracle WebLogic 11g Topology
Oracle WebLogic 11g TopologyOracle WebLogic 11g Topology
Oracle WebLogic 11g Topology
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
 
WLST
WLSTWLST
WLST
 
Weblogic security
Weblogic securityWeblogic security
Weblogic security
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
 
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
 
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
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
 
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...
 
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
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
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
 
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
 
WebLogic FAQs
WebLogic FAQsWebLogic FAQs
WebLogic FAQs
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2
 
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
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOps
 
Weblogic application server
Weblogic application serverWeblogic application server
Weblogic application server
 
WebLogic for DBAs
WebLogic for DBAsWebLogic for DBAs
WebLogic for DBAs
 
WLS
WLSWLS
WLS
 

Destaque

Smith Scaling Java Applications With Coherence
Smith Scaling Java Applications With CoherenceSmith Scaling Java Applications With Coherence
Smith Scaling Java Applications With CoherenceSnoop 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 performanceC2B2 Consulting
 
JBoss Clustering on OpenShift
JBoss Clustering on OpenShiftJBoss Clustering on OpenShift
JBoss Clustering on OpenShiftC2B2 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 TrainingC2B2 Consulting
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at OracleEmiliano 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, WebLogicOracle
 

Destaque (8)

Smith Scaling Java Applications With Coherence
Smith Scaling Java Applications With CoherenceSmith Scaling Java Applications With Coherence
Smith Scaling Java Applications With Coherence
 
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
 
JBoss Clustering on OpenShift
JBoss Clustering on OpenShiftJBoss Clustering on OpenShift
JBoss Clustering on OpenShift
 
Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!
 
C2B2 A la carte JBoss Training
C2B2 A la carte JBoss TrainingC2B2 A la carte JBoss Training
C2B2 A la carte JBoss Training
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at Oracle
 
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 Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
 

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

AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
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_monolithMarkus 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.3Bruno Borges
 
Building & Testing Scalable Rails Applications
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applicationsevilmike
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702Jess 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 featuresMichel Schildmeijer
 
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 AppServerAfkham Azeez
 
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 Connectivitypkaviya
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytesPhil 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 DeployIBM DevOps
 
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 DeployClaudia Ring
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Orkhan Gasimov
 

Semelhante a Coherence sig-nfr-web-tier-scaling-using-coherence-web (20)

WSO2 Application Server
WSO2 Application ServerWSO2 Application Server
WSO2 Application Server
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Introduction to weblogic
Introduction to weblogicIntroduction to weblogic
Introduction to weblogic
 
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)
 
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
 
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
 
Building & Testing Scalable Rails Applications
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applications
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
 
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...
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
Weblogic
WeblogicWeblogic
Weblogic
 
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
 
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
 
Oracle Web Logic server
Oracle Web Logic serverOracle Web Logic server
Oracle Web Logic server
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
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
 
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
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
 

Mais de 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 2015C2B2 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 PolandC2B2 Consulting
 
Monitoring Oracle SOA Suite
Monitoring Oracle SOA SuiteMonitoring Oracle SOA Suite
Monitoring Oracle SOA SuiteC2B2 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
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLSTC2B2 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
 
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 ScaleC2B2 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 DeakinC2B2 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 ScaleC2B2 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 InsightC2B2 Consulting
 
Middleware Expert Support Presentation
Middleware Expert Support PresentationMiddleware Expert Support Presentation
Middleware Expert Support PresentationC2B2 Consulting
 
Monitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ONMonitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ONC2B2 Consulting
 

Mais de 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
 
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
 
Monitoring Oracle SOA Suite
Monitoring Oracle SOA SuiteMonitoring Oracle SOA Suite
Monitoring Oracle SOA Suite
 
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
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLST
 
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 ...
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
 
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
 
Java Middleware Surgery
Java Middleware Surgery Java Middleware Surgery
Java Middleware Surgery
 
Jax London 2013
Jax London 2013Jax London 2013
Jax London 2013
 
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...
 
'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker' 'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker'
 
'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'
 
'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
 
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
 
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
 
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
 
Middleware Expert Support Presentation
Middleware Expert Support PresentationMiddleware Expert Support Presentation
Middleware Expert Support Presentation
 
Monitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ONMonitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ON
 

Último

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Último (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

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

Notas do Editor

  1. 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.
  2. Improves memory performance and near cache usageOld binary value must be cached for the test to take place