Server Configuration"

From Documentation
m (remove empty version history (via JWB))
 
(9 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
The configuration of a Web server really depends on the server itself. There is no standard approach.
 
The configuration of a Web server really depends on the server itself. There is no standard approach.
 +
 +
= Load Balancer (Required) =
 +
Be sure to configure [http://wiki.metawerx.net/wiki/StickySessions sticky session] on your load balancer because ZK only works correctly on this setting.
 +
 +
Check ZK DesktopImpl.java, you will see there are lots of <code>synchronized</code> used in many methods including:
 +
* generate desktop ID
 +
* addPage(), removePage()
 +
* enableServerPush()
 +
* processing server push update
 +
 +
The keyword <code>synchronized</code> only works in a single JVM, so it’s impossible to keep the same state between 2 different nodes with session replication if 2 nodes receive requests at roughly the same time.
 +
 +
Each AU request changes a Desktop's status of a session, if 2 AU requests are processed by 2 different clustering nodes and each one has its own session, then one session state might override another session.
  
 
=Apache + Tomcat=
 
=Apache + Tomcat=
Line 9: Line 22:
 
* [[Small Talks/2007/April/How to Run ZK on Apache + Tomcat clustering, Part I|How to Run ZK on Apache + Tomcat clustering, Part I]]
 
* [[Small Talks/2007/April/How to Run ZK on Apache + Tomcat clustering, Part I|How to Run ZK on Apache + Tomcat clustering, Part I]]
 
* [[Small Talks/2007/May/How to Run ZK on Apache + Tomcat clustering, Part II|How to Run ZK on Apache + Tomcat clustering, Part II]]
 
* [[Small Talks/2007/May/How to Run ZK on Apache + Tomcat clustering, Part II|How to Run ZK on Apache + Tomcat clustering, Part II]]
 +
 +
More detail settings
 +
 +
* [[ZK_Installation_Guide/Setting_up_Servers/Tomcat_Cluster | Tomcat Cluster]]
  
 
=Google App Engine=
 
=Google App Engine=
Line 16: Line 33:
 
* [[ZK Installation Guide/Setting up Servers/Google App Engine|ZK Installation Guide: Google App Engine]]
 
* [[ZK Installation Guide/Setting up Servers/Google App Engine|ZK Installation Guide: Google App Engine]]
  
=Version History=
+
=Apache + JBoss=
{{LastUpdated}}
+
 
{| border='1px' | width="100%"
+
For configuring JBoss, please refer to
! Version !! Date !! Content
+
 
|-
+
* [[ZK Installation Guide/Setting up Servers/JBoss Cluster | JBoss Cluster]]
| &nbsp;
+
 
| &nbsp;
+
=Glassfish=
| &nbsp;
+
 
|}
+
For configuring Glassfish, please refer to
 +
 
 +
* [[ZK Installation Guide/Setting up Servers/Glassfish Cluster | Glassfish Cluster]]
 +
 
 +
=WebLogic=
 +
 
 +
For configuring WebLogic, please refer to
 +
 
 +
* [[ZK Installation Guide/Setting up Servers/WebLogic Cluster | WebLogic Cluster]]
 +
 
 +
 
  
 
{{ZKDevelopersReferencePageFooter}}
 
{{ZKDevelopersReferencePageFooter}}

Latest revision as of 04:33, 5 February 2024


Server Configuration


The configuration of a Web server really depends on the server itself. There is no standard approach.

Load Balancer (Required)

Be sure to configure sticky session on your load balancer because ZK only works correctly on this setting.

Check ZK DesktopImpl.java, you will see there are lots of synchronized used in many methods including:

  • generate desktop ID
  • addPage(), removePage()
  • enableServerPush()
  • processing server push update

The keyword synchronized only works in a single JVM, so it’s impossible to keep the same state between 2 different nodes with session replication if 2 nodes receive requests at roughly the same time.

Each AU request changes a Desktop's status of a session, if 2 AU requests are processed by 2 different clustering nodes and each one has its own session, then one session state might override another session.

Apache + Tomcat

For configuring Apache + Tomcat, please refer to

More detail settings

Google App Engine

For configuring Google App Engine, please refer to

Apache + JBoss

For configuring JBoss, please refer to

Glassfish

For configuring Glassfish, please refer to

WebLogic

For configuring WebLogic, please refer to




Last Update : 2024/02/05

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.