Server Configuration"
m ((via JWB)) |
m (remove empty version history (via JWB)) |
||
(One intermediate revision by one other user not shown) | |||
Line 5: | Line 5: | ||
= Load Balancer (Required) = | = 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. | 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: | Check ZK DesktopImpl.java, you will see there are lots of <code>synchronized</code> used in many methods including: | ||
* generate desktop ID | * generate desktop ID | ||
Line 11: | Line 11: | ||
* enableServerPush() | * enableServerPush() | ||
* processing server push update | * 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. | 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. | ||
Line 52: | Line 51: | ||
* [[ZK Installation Guide/Setting up Servers/WebLogic Cluster | WebLogic Cluster]] | * [[ZK Installation Guide/Setting up Servers/WebLogic Cluster | WebLogic Cluster]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{ZKDevelopersReferencePageFooter}} | {{ZKDevelopersReferencePageFooter}} |
Latest revision as of 04:33, 5 February 2024
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
- How to Run ZK on Apache + Tomcat clustering, Part I
- How to Run ZK on Apache + Tomcat clustering, Part II
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