[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
terracotta集群其他服务器的问题  XML
Forum Index -> Terracotta 中文社区
Author Message
zhangb

journeyman

Joined: 02/28/2010 21:40:20
Messages: 19
Offline

在terracotta官网上看到:terracotta能集群很多服务器,tomcat、weblogic、jboss等等,这些在tc-config.xml的client节点下的module下配置就可以了,可官网提供的module的name有限啊,在官网上看到terracotta能集群red5的,可red5的module怎么配啊?
lima

consul
[Avatar]
Joined: 06/22/2009 10:12:31
Messages: 361
Offline

目前应该还没有正式发布的red5的module.
你可以通过执行 bin/tim-get.sh list去查看所有正式发布的module的列表。

另外Terracotta中,这种扩展module叫做TIM (Terracotta Integration Module)。
这个网站上包含所有的TIM:
http://forge.terracotta.org

老马
zhangb

journeyman

Joined: 02/28/2010 21:40:20
Messages: 19
Offline

老马哥:
谢谢你的指导,有进展了,不过我还是有点看不懂,希望你来指点一下:
red5不用配module的,应该是terracotta的官方给了red5一个tc-config.xml文件吧,用这个来集群的,我刚刚找到了这个tc-config.xml文件,是这样写的:
<?xml version="1.0" encoding="UTF-8"?>
<con:tc-config xmlns:con="http://www.terracotta.org/config">
<servers>
<server host="%i" name="localhost">
<dso-port>9510</dso-port>
<jmx-port>9520</jmx-port>
<data>terracotta/server-data</data>
<logs>terracotta/server-logs</logs>
</server>
</servers>
<clients>
<logs>terracotta/client-logs</logs>
</clients>
<application>
<dso>
<instrumented-classes>
<include>
<class-expression>org.red5.server.so.TerracottaSharedObject</class-expression>
<honor-transient>true</honor-transient>
</include>

<include>
<class-expression>org.red5.io.utils.ObjectMap</class-expression>
</include>

<include>
<class-expression>org.red5.server.so.SharedObjectEvent</class-expression>
</include>
</instrumented-classes>
<roots>
<root>
<field-name>org.red5.server.so.TerracottaService.objects</field-name>
</root>
</roots>
<locks>
<autolock>
<method-expression>* org.red5.server.so.TerracottaService.*(..)</method-expression>
</autolock>
</locks>

<distributed-methods>
<method-expression run-on-all-nodes="false">void org.red5.server.so.TerracottaSharedObject.distributeUpdates(..)</method-expression>
</distributed-methods>

</dso>
</application>
</con:tc-config>
与这个文件在一起的还有一个src文件夹,里面有些类供这个xml加载。
这个是官方提供的文档:http://www.terracotta.org/confluence/display/wiki/Red5+and+Terracotta+POC
而官方文档提供的是linux的操作系统,而且又是2-3年前的,版本又低,真看不懂里面terracotta是怎么集群的··
lima

consul
[Avatar]
Joined: 06/22/2009 10:12:31
Messages: 361
Offline

Terracotta集群的基础是:
1、共享数据
这个通过在tc-config.xml中定义多个root实现对所有这些root对象以及他们引用的子对象的全局共享。
2、对相关类进行代码注入
Terracotta需要监视所有共享数据的变化。起方法就是对共享类和访问共享数据的类进行代码注入。这样当他们访问共享数据的时候,Terracotta可以把共享数据从服务器上下载到本地供本地代码使用;或者把本地对共享数据的修改传送到服务器上供其他节点使用
3、加锁
集群中所有数据对象的访问都可能是并发的。所以对所有数据对象的访问都必须有一个读锁或者写锁来进行保护

整个tc-config.xml主要就是为了配置上面的三类信息的。

对于初次接触Terracotta DSO的用户,我的建议是下载并且尝试使用platform/samples目录下的几个例子。最好自己能写两个多JVM集群的例子,加深对Terracotta的理解。
这次基础上,理解其他的TC配置就容易多了。

老马
 
Forum Index -> Terracotta 中文社区
Go to:   
Powered by JForum 2.1.7 © JForum Team