TongLINKQ7.0技术白皮书 联系客服

发布时间 : 星期日 文章TongLINKQ7.0技术白皮书更新完毕开始阅读

发布/订阅

TongLINK/Q提供发布/订阅的功能,通过发布/订阅,为应用提供了一种透明的信息发布和信息消费的框架。消息的发布者只负责发布信息的收集,并通过一个公共“主题”来表示这个消息,消息的订阅者通过公共主题来订阅需要的消息,当有订阅“主题”的消息发布时,消息自动发送给订阅者。

订阅者跟发布者可以分布在一个节点上,也可以分别分布在不同的节点上,分布在不同节点上的发布者和订阅者通过PSBroker的树状网络。

发布者 主题网络发布订阅主题订阅者订阅者

通过发布订阅功能,可以实现消息的广播,当一个发布者发布某个主题信息时,TongLINK/Q系统将会将此主题信息广播给所有订阅了此主题的订阅者。

5.3. 节点组织模式

TongLINK/Q支持用户根据实际情况灵活组织节点,组建需要的网络结构,如:树型逻辑结构、网状结构和星型结构等。

节点A节点A节点B节点C节点D节点B节点C节点D树状结构节点E节点E星形结构节点A节点D节点C节点E 网状结构节点B

5.4. 通道连接方式

TongLINK/Q两个节点之间的通讯通道支持常连接和按需连接两种模式,以更好地适应不同的网络通讯环境,节省系统资源和提高传输效率。常连接是在节点启动时即建立,且在以后的时间内此连接会一直

8

维持;按需连接在有数据传输请求的情况下建立,没有数据要求传输时断开。当连接上的数据传输比较经常时,连接的频繁建立和断开会严重影响传输效率,可以选择使用常连接;当连接上的数据传输请求断断续续,长时间无数据传输时维持连接浪费了系统连接资源,可以选择使用按需连接。

5.5. 异步通讯机制

TongLINK/Q通过提供多层次的异步通讯机制,消息发送者和接收者不在网络上直接相互通话,而是间接地将消息放入消息队列,双方完全不需要了解对方是否在线。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息,消息的保存和在网络上的传递都由消息中间件来负责。

5.6. 消息管理 消息定义

应用程序交由TongLINK/Q传输的数据定义都称为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息。 消息由消息描述和消息的内容组成。消息描述为消息长度等消息属性信息;消息内容为用户需要真正传输的数据信息,它的格式由该消息的提供者及接收者协商而定。

消息描述头 消息内容 用户数据包 优先级 消息类型 消息名称 接收队列名 目的节点名 生命周期 发送消息可靠性标识 消息格式

TongLINK/Q支持字符流和文件两种消息格式,用户可根据应用系统的需要选择任何一种方式。用户使用字符流消息格式时,需要将消息的内容、标识、长度等信息传递给TongLINK/Q;用户使用文件消息时,则只需要将文件名(包含路径)告知TongLINK/Q即可,TongLINK/Q将根据用户提交的文件名对文件内容进行处理和传输,最终交付给用户指定的目的地。

生命周期

TongLINK/Q提供消息生命周期控制功能,每条消息都赋予了生命周期这样一个属性,用来控制一个消息从放入队列开始,直到被消费所允许的最长时间,即消息在队列中的最长存活时间。一个消息超过生命周期还没有被传输完毕或被应用处理,将会被自动丢弃。

通过生命周期这一机制,可以有效地清除过期消息,释放占用的核心资源,保证整个系统的效率。消息的可靠传输是局限在生命周期内的。通过为消息设定生命周期的方法,解决消息传输中的堵塞问题,提高效率。

消息优先级

TongLINK/Q提供消息优先级控制功能,根据消息的紧急程度,在发送前可以为其设置10个不同级别的优先级(0-9)。优先级越高,消息的发送速度也越快。10个优先级中有两种比较特殊的优先级,即独占优先级(9)和等待优先级(0),独占优先级为最高优先级,即只要有此优先级的消息,其他优先级的消息

9

就没有机会发送;等待优先级为最低优先级,即只要有高优先级的消息,此优先级的消息就没有机会发送。

单消息和组消息

TongLINK/Q系统中传输的消息,可以是一条单一的消息,也可以是一组消息。组消息由多个单消息组合而成,在处理时相当于一个消息。所有的子消息拥有相同的目的地、生命周期、持久性和优先级。如果一个子消息出现问题,核心会对所有的子消息采取相同的处理操作;系统恢复时,要么都恢复,要么都不恢复。使用此功能,可以保证一批消息能够同时被用户所获取和处理,满足系统对这一批消息之间关联处理的需求。

5.7. 队列管理

队列是消息存储的地方,消息在收发过程中一直存储于队列中,持久的消息存放在磁盘等硬介质上,系统重启恢复时能够被恢复出来;非持久的消息存放在内存上,系统恢复时不能被恢复。

队列类型

TongLINK/Q系统提供的队列基本类型为远程队列、发送队列和本地队列。其他类型的队列如事件队列、发布队列、订阅队列等,都为基本类型的功能延伸。

? 远程队列

为远端一个队列在本地的对应,它是一个逻辑的队列,并不占有磁盘内存空间, ? 发送队列

发送队列可以被理解为存储转发队列,发往远端目的地的消息都要经由发送队列发出,被发送到异地的消息分别被放到不同的发送队列中,以保证从本节点到不同目的地的消息传输不受干扰。在消息传递的过程中,如果发生网络故障,消息将被保存在发送队列中,等待故障排除之后,将继续发往目的地。

? 本地队列

本地队列是应用程序通过API对其进行读写操作的队列,TongLINK/Q从网络上收到的消息,需要放入本地队列,才可以被应用所读取,应用可以直接放到本地队列中。

队列分组

TongLINK/Q的一组队列由不同的队列控制单元负责管理,用户可以为不同业务定义不同的队列,并划分为不同的队列控制单元进行管理,不同的队列控制单元的队列消息有不同的核心进程负责处理,相互不会影响。

10

5.8. 压缩加密

TongLINK/Q产品提供数据压缩可加密功能,产品本身带有一套数据压缩、加密算法,同时也为第三方的压缩和加密算法提供了接口,用户可以方便的将自己指定的压缩和加密算法嵌入TongLINK/Q系统中。

5.9. 断点续传

TongLINK/Q提供断点续传功能,消息在传输过程中,不论是系统非正常关机或网络意外中断,消息都将仍保留在消息队列中,等待系统恢复后,消息将从传输失败点继续发送,而不是整个消息重新发送。断点续传机制可以有效减少高故障率网络上的冗余通讯量。在高故障网络上进行重传,会导致反复的失败重传,保证消息的可靠性。

5.10. 流量控制

TongLINK/Q提供流量控制功能,在传输的过程中,TongLINK/Q可以根据设置将消息拆分为不同的小块,在网络上进行传输,传输到目的端后再重新组织为完整的消息。每个小块的大小可以根据网络带宽和网络质量的不同灵活设置,网络质量较高的系统,可以调大每个数据块的大小,以充分的利用网络带宽,网络质量较差的系统,可以相应调小每个数据块的大小,以减少对网络的压力。

5.11. 集群功能

TongLINK/Q支持队列级的集群功能。集群功能是指:TongLINK/Q的若干节点可以组建为一个群组,对外提供消息接收和处理功能。当单个节点无法满足大负载的消息处理要求,可以使用集群功能将负载分配到多个节点上,提高系统的处理能力和可扩展性。集群内节点的数量可以根据需要动态调整。

TongLINK/Q集群支持线路备份和负载均衡两类使用方式。

当一个节点想通过多条线路到达集群,即当一条线路出现故障时,可以通过备份线路到达集群,在发送节点需要配置多条集群线路。

当系统希望在多个节点或多个队列上分摊消息处理的压力时,可以选择负载均衡功能,消息发送到集群队列后,会根据系统设置的权重按照比例将消息分发到不同的队列中。

11