|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
手机用到的是用j2me所编出来的小程序。ApacheTribes是Tomcat的一个模块,撑持服务器集群中的组通讯。FilipHanik谈到了异构集群中的应战和Tribes怎样匡助完成Tomcat集群的组通讯需求。他在SpringOne美国年夜会做了一场关于Tribes动静框架的专题讲座。
讲座一入手下手,Filip谈到几个开源的组通讯项目,包含Appia、Spread、Erlang和JGroups。他会商了一致组模子,在该模子里集群中的一切节点都是一样的,它们以一样的体例处置、发送、吸收动静.很多组通讯模块都是为一个一致的通讯模子创建的。可是在年夜多半异构集群完成中,这一般都不是到达集群所需功能和可扩大性的最好办理计划。
当集群每一个节点上的处置等是静态的且运转异构硬件情况中,那末一个非一致组通讯形式是个更好的办理计划。
Tribes是一个具有组通讯才能的动静传送框架,这些是在Tomcat5容器的集群/session复制代码以外创立的。它是为Tamcat集群完成供应的通讯框架。它的目标之一是简化散布式使用点对点(peer-to-peer)及点对组(peer-to-group)通讯。Tribes撑持两品种型的动静传送:可用于两个节点间事务的并发(concurrent)动静传送和可用于发送动静给多个节点的平行(parallel)动静传送。
Tribes框架的别的特征包含:
- 有包管的动静传送:默许完成是基于TCP的,利用了java.io和java.nio包。
- 包管级别:Tribes撑持3个级其余动静传送包管(NO_ACK、ACK和SYNC_ACK)。
- 每动静传送语义:这些语义同意被传送的每一个动静都是分歧的,并且每一个动静利用分歧的包管级别。
- 可插拔拦阻器:可被用来拦阻贯串已界说办法的任何事务并操纵动静属性(标志)。ChannelInterceptorBase类能够把非拦阻办法的冗余代码降至起码。
- 传送反应:Tribes试图对每一个动静和每一个传送语义(NO_ACK、ACK、SYNC_ACK)都传送反应。动静传送既能够是同步的也能够是异步的。
- 并发战争行传送:并发传送意味着任一时候能够发送或吸收多于一个的动静。没有“动静堵塞”意味着利用SYNC_ACK包管级外传递10M动静不会中止利用NO_ACK包管级外传递的10KB信息。平行传送则同意一个线程发送动静给多个目标地(NIO)。
- 流动的节点层级:这一特征撑持断定集群向导、主动兼并组和在多点传送不事情的中央发明节点。
- 失利检测:包含一个复杂的拦阻器TcpFailureDetector以在一个集群成员宕机时供应反应。如许就不必要守候超时并且也没有在忙碌收集上ping节点时受骗上当的风险。
Tribes还撑持像RPC动静传送的特征和把通道构建到JNDI树中的JNDI通道。该框架架构包括以下组件:
- 通道:这是链中的第一个拦阻器。它有一个或多个ChannelListener及MembershipListener.它把动静序列化并反序列化,并且撑持传送纯byte[]数据的ByteMessage。
- 拦阻器:拦阻器的例子包含有失利检测/静态成员、整体按次或每一个成员按次、向导推举/动静数据加密、动静分拨(异步动静传送),和一切或没有传送包管(deliveryguarantee)。
- 和谐器:这是链中的最初一个拦阻器。它和谐I/O组件如Sender,Receiver和Membership。
在这一专题讲座中,Filip还树模了一个复杂的例子使用,展现了怎样完成Tomcat集群并激活针对session和高低文属性复制的Webapp设置选项。server.xml文件包含了对集群元素的设置,好比Cluster,SessionManager(DeltaManager或BackupManager)、Channel(Tribes)、Membership(撑持两种成员:利用多点传送在运转时发明别的节点的静态成员和每一个节点在server.xml界说的静态成员)、Messaging(基于TCP,每一个节点都有一个吸收者和一个发送者)、Receiver(吸收集群动静)、Sender(发送集群动静)、Interceptors(在功效方面相似于valves)、Valves(在每一个哀求停止时初始化session复制)、和ClusterListener(撑持特定范例动静的自界说动静传送listener)。
检察英文原文:FilipHanikonHeterogeneousClusterCommunicationUsingApacheTribes
本文出自:http://www.infoq.com/cn/news/2009/02/filip-hanik-tribes
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。 |
|