Setting up a Tomcat Web Cluster
在每一台机器上安装Terracotta
生成boot jar
可能需要生成Boot jar。脚本文件: make-boot-jar.sh [-o /usr/local/terracotta-2.4.0/lib/dso-boot] -f /tmp/tc-config.xml
启动Terracotta Server
准备配置文件/tmp/tc-config.xml:
<!---->
<tc:tc-config xsi:schemalocation="&lt;a goog_ds_charindex=" href="http://www.terracotta.org/schema/terracotta-4.xsd">http://www.terracotta.org/schema/terracotta-4.xsd" xmlns:tc="
http://www.terracotta.org/config" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<!---->
<servers></servers>
<server host="%i" name="sample"></server>
<data></data>data/server-data
<logs></logs>logs/server-logs
<!---->
<clients></clients>
<logs></logs>logs/client-logs/%(webserver.log.name)
<modules></modules>
<module name="clustered-apache-struts-1.1" version="1.1.0"></module>
<application></application>
<dso></dso>
<!---->
<instrumented-classes></instrumented-classes>
<!---->
<include></include>
<class-expression></class-expression>*..*
<!---->
<exclude></exclude>org.apache.coyote..*
<exclude></exclude>org.apache.catalina..*
<exclude></exclude>org.apache.jasper..*
<exclude></exclude>org.apache.tomcat..*
<!---->
<web-applications></web-applications>
<web-application></web-application>Cart
<!----></tc:tc-config>
<roots></roots>
<root></root>
<field-name></field-name>demo.townsend.service.ProductCatalog.catalog
<root-name></root-name>ProductCatalog
WebSphere6.1中的设置:
...
<clients></clients>
<logs></logs>logs/client-logs/%(webserver.log.name)
<modules></modules>
<module name="clustered-apache-struts-1.1" version="1.1.0"></module>
<module name="clustered-websphere-6.1.0.7" version="1.0.0"></module>
...
<exclude></exclude>com.ibm..*
<exclude></exclude>org.eclipse..*
<exclude></exclude>com.ddtek..*
<exclude></exclude>tcl.lang..*
<exclude></exclude>org.omg..*
<exclude></exclude>sunlabs.brazil..*
<exclude></exclude>com.sun.mail..*
...
WebLogic8.1 中的设置:
...
<exclude></exclude>weblogic..*
<exclude></exclude>com.rsa..*
...
启动Tomcat Servers
start-tomcat-dso.sh:(可能运行前要export一些环境变量)
TERRACOTTA_SERVER=10.22.23.31
TC_CONFIG_PATH="${TERRACOTTA_SERVER}:9510"
. $TC_HOME/bin/dso-env.sh -q
export JAVA_OPTS="${TC_JAVA_OPTS}"
$CATALINA_HOME/bin/startup.sh
或者如下设置JAVA_OPTS环境变量,启动
在catalina.out log文件中应该要看到类似的信息,如下,说明TOMCAT启动时,Terracotta起作用;在Terracotta Server端如果打开/usr/local/terracotta-2.4.0/bin/admin.sh(AdminConsole)也会显示有App Server连上的信息:
Configure and Start the Load Balancer (实际用IBM EDGE)
In a production environment, you should use a production quality hardware or software load balancer. For testing purposes, Terracotta comes with a simple TCP proxy that may be used like a load balancer. You should not use this TCP proxy in a production environment.
Here's a sample script to start the TCP proxy:
Here's a version of the script with the terracotta installation directory and the web hosts filled in:
To run the TCP proxy, execute the script on the load balancer machine:
分享到:
相关推荐
本文将深入探讨 Terracotta 与 Tomcat 集群的配置,以及如何利用 Terracotta 实现高效、可靠的 session 共享。 1. ** Terracotta 基本原理** Terracotta 是一款开源软件,它提供了一种在 Java 应用程序之间实时...
具体到session同步方面,Terracotta可以看作是对Tomcat自带的session复制机制的一种优化,既避免了对数据库的依赖,又能够有效减少网络通信压力,实现负载均衡和灾难恢复的目标。 根据测试结果,在采用Terracotta...
在`server.xml`配置文件中,添加`<Manager className="org.terracotta.session.tomcat.Tomcat TerracottaSessionManager" />`,以启用Terracotta的Session同步。 3. **配置应用代码** 在你的Web应用中,无需对代码...
### 使用Terracotta实现Session共享的关键知识点 #### Terracotta简介 Terracotta是一种开源的分布式内存技术,它提供了一种简单有效的方式来管理和共享应用程序的数据。对于Java应用程序而言,Terracotta可以实现...
在Tomcat集群中,Terracotta可以实现session复制和共享,确保用户在集群中的任意节点之间切换时,其会话状态保持一致,避免了session丢失的问题。 集群配置文件tc-config.xml是Terracotta的配置文件,用于定义集群...
总的来说,分布式服务集群下的session共享可以通过多种途径实现,每种方法都有其优缺点。选择合适的解决方案需要根据业务需求、性能要求以及容错能力等因素综合考虑。在实际应用中,应充分评估并测试各种方案,以...
### 集群中几种session同步解决方案的比较 在分布式系统和集群环境中,session管理是一项关键技术,它确保了用户在不同服务器之间的交互能够保持一致性。本文将深入探讨六种常用的session共享方法,包括它们的工作...
通过将 session 复制和负载均衡功能集成到 Tomcat 集群中, Terracotta 提供了一种无需数据库依赖的解决方案,能够在多个服务器之间实现数据同步,同时保持较低的网络压力和资源消耗。 2. **基本原理** Terracotta...
5. **启动Tomcat**:配置完成后,启动Tomcat服务器,此时Tomcat会与Terracotta集群建立连接。 6. **监控与管理**:通过Terracotta提供的管理界面(通常在8000端口)可以监控和管理整个集群的状态,包括session的数量...
Terracotta 实现 Session 复制是指 Terracotta 的基本原理是对于集群间共享的数据,当在一个节点发生变化的时候,Terracotta 只把变化的部分发送给 Terracotta。 分布式 Session 方案的选择取决于系统的需求和要求...
本文档详细介绍了如何通过Apache作为负载均衡器来实现Tomcat集群的搭建,并利用Terracotta实现Ehcache的集群配置,以增强系统的故障恢复能力和数据共享功能。 #### 二、环境准备 在开始配置之前,需要准备以下软件...
Terracotta是一个开源的Java集群框架,它允许在多个Tomcat服务器之间共享session数据,确保用户在集群中的任意节点切换时,其会话状态仍能保持连续。Terracotta通过监听和同步session对象,解决了跨服务器的会话复制...
构建 Apache + Tomcat 分布式集群是一项复杂的工作,涉及到网络配置、服务器资源分配、session 共享等多个方面。通过合理的配置和管理,可以大大提高系统的稳定性和可扩展性。记住,始终要关注性能优化、安全防护...
配置完成后,Web应用程序应该能够通过Terracotta集群来管理其会话状态,这意味着会话数据可以在多台服务器之间无缝同步,提高了系统的可用性和可伸缩性。然而,确保正确配置和测试环境是至关重要的,以避免任何潜在...
7. **Java中间件**:例如Tomcat、Jetty等Web服务器支持集群配置,通过共享session和请求分发,实现集群部署。 8. **开源框架**:例如Apache Mesos、Hazelcast、Terracotta等,它们提供了一套完整的解决方案,简化了...
基于Terracota的Session集群配置教程 Web Frameworks DWR MyFaces JSF Reference Implementation Jakarta Slide GWT Jetspeed2 ICEfaces 其他 Atomikos Transaction Manager Java Open Transaction Manager (JOTM) ...