[1]TLQ80产品培训系统概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TongLINK/Q8.0培训---系统概述演讲人:演讲时间:•背景介绍•基本概念介绍•主要功能•其他相关内容简介目录背景介绍•消息中间件是一种独立的系统软件或服务程序•介于操作系统和应用系统之间•独立于网络和操作系统•屏蔽了环境的差异型•用于分布式应用系统中:–借助这种软件在不同的系统之间共享资源,管理计算资源和网络通讯。–实现应用的互连和互操作,保证应用系统安全、可靠、高效地运行。–为应用提供了公用的通信手段。–为开发者提供了公用于所有环境的应用程序接口。消息中间件概述当前计算环境•硬件环境–当前的计算环境朝着高配置:多CPU、高带宽(如光纤)、高容量(如磁盘阵列)等方面发展。–软件必须能够充分利用高配置硬件提供的性能,以提高软件性能•软件环境–支持多种语言和使用方式–支持多种操作系统–符合国际标准,如JMS–支持多种通讯协议TLQ8.0支持的操作系统类型Server:•支持主流的Unix和Linux操作系统,如HP11、AIX、Sorlaris等常见操作系统类型;•不支持如SCO等无法提供多线程功能的Unix操作系统。•支持主流的Windows操作系统,如WinNT、WinXP、Win2000、Win2003•不支持诸如Win98、Win95及以下版本。Client:•支持几乎所有常见操作系统类型,甚至Win98、Win95、SCO等•不支持Win32及更低版本的Windows系统基本概念介绍节点节点:是一套完整的TLQ运行环境(实例)的集合,其中包括运行的系统核心进程、系统内存资源、日志系统、数据存储和应用进程。系统的监控和管理是以节点为单位的。静态:一组环境变量和环境变量对应的目录和文件、一组执行码。环境变量包括:TLQHOMEDIR(系统安装路径)TLQCONFDIR(配置文件存放路径)TLQMSGDIR(队列文件存放路径)TLQSNDFILESDIR(发送文件存放路径)TLQRCVFILESDIR(接收文件存放路径)TLQLOGDIR(日志文件存放路径)动态:一组运行进程、IPC资源和一组目录文件2019/8/239消息消息,是在应用进程之间或两台计算机间传送的数据,为TongLINK/Q的最小处理单元。消息的结构:消息在结构上分为消息描述和消息体。数据类型:消息分为BUFFER消息和FILE消息BUFFER消息的消息体为内存中的一段数据。FILE消息的消息体为文件名。消息组成:消息分为单消息和组消息。队列控制单元•队列控制单元,英文为QueueControlUnit,简称QCU,是对队列及消息进行监控和管理运行单位;•运行中的QCU由BQS(BufferQueueSystem)、数据交换区(发送/接收缓冲区)、队列、监控进程和管理进程组成;•可以根据队列和消息的特点,将队列组织成多个QCU,分别进行管理。节点和QCU一个节点的队列可以包含成多个QCU,分别进行管理。NodeQCU2QCU4QCU1QCU3队列•队列是存储消息的数据结构,可存在于主存储器、磁盘或相似的辅助存储器。•队列只属于某一个队列控制单元,由队列控制单元负责维护和管理。•队列分为物理队列和逻辑队列两种:-物理队列占有物理存储空间;-逻辑队列只是队列定义,不占有物理空间。•根据队列的生命周期分为:-永久队列-临时队列(存在于一次注册和注销之间)物理队列本地队列:用于存放:1异地通过网络传输过来的消息、2本地应用发送的消息、3系统产生的事件消息、4系统内部管理信息等。发送队列:发送队列是消息发送到异地节点的媒介队列。如果要将消息传输到异地,消息必须首先发送到发送队列。通过一个发送队列可以将消息发往异地某个节点上的多个队列。逻辑队列远程队列:•为远方节点的一个本地队列或远程队列在本地节点的一个逻辑映射。•当远程队列对应的目的队列为一个远程队列时,表示消息的传输过程还要继续下去(路由,落地路由)。•多个远程队列可以对应一个发送队列,即通过多个远程队列发送消息其实都是通过一个物理的发送队列发出。集群队列:•由多个队列组成的队列集合。当消息放入到集群队列时,按照一定比例被放入到集合中的多个队列中。•功能:集群主要有线路备份和负载均衡两种功能队列间的关系qcu2qcu1SQ1RQ1RQ2RQ3LQ1RQ1LQ2RQ4SQ2BQS(BufferQueueSystem)•存放应用跟系统之间进行交换的控制信息。*•分为三个部分:QOUT:存放应用发向核心的请求信息QIN:存放核心返回给应用的应答(除发送消息的应答外)QAUX:存放发送消息后核心返回的应答。2019/8/23BQS(发送程序与BQS的调度关系)S_APPQCU核心进程QOUTQAUXSendBuffSQRQ1243578672019/8/23BQS(接收程序与BQS的调度关系)R_APPQCU核心进程QOUTQINRecvBuffLQ12385467传输进程传输进程:•传输进程分为发送进程和接收进程两种;•传输进程通过创建工作线程来完成消息的网络传输:-发送线程负责连接的建立和消息数据的网络发送。-接收线程负责消息数据的网络接收。•发送进程:监视队列,创建和监控发送线程。•接收进程:监听端口,创建和监控接收线程。发送连接:•连接为两个节点QCU间进行数据传输的通道(TCP下为socket连接);•由数据发起方建立,连接双方进行维护;•一个发送进程可以对应一个或多个发送连接。节点和传输进程一个节点可以有一个或多个传输进程,各个传输进程的传输工作互不影响NodeSendProcSendProcRecvProcRecvProcCliBrokerCliBroker发送队列和发送连接•一个发送进程只能负责某个特定的QCU中消息的发送•一个QCU可以使用一个或多个发送进程进行消息发送•一个发送进程可以负责一个或多个发送连接的管理•发送连接跟发送队列一一对应QCUsndQsndQsndQsndQsndQSndProcsndConnsndConnsndConnsndConnsndConnSndProc端口监听与接收进程•发送方可以通过一个或多个端口向某个接收节点发送消息•一个接收进程只能负责某个特定端口的监听,且一个端口不能由多个进程监听•通过某个端口收到的消息只能放到某个特定QCU的队列中,但可以为任意队列nodeQCU1QCU2PortRcvProcRcvProcRcvProc接收线程接收线程接收线程接收线程接收线程接收线程接收线程客户端代理•客户端代理作为客户端应用跟Server交互的中间媒介。•客户端代理接收来自客户端的连接,创建工作线程。•工作线程负责:–接收客户端发来的消息数据,放入到队列中;–从队列中取消息数据,并发送给客户端;–维护连接。端口监听与客户端代理nodeQCU1QCU2PortCliBroker工作线程工作线程工作线程工作线程工作线程CliBroker工作线程工作线程工作线程CliBrokerClientAPP2019/8/2325瘦客户TLQ的客户端是跟TLQ服务器相对的概念,客户端应用运行时不需要核心进程和各种IPC资源的辅助;2019/8/2326主要功能介绍2019/8/2327点对点传输图形示意:发送消息浏览消息接收消息删除消息远程队列本地队列qcugetqcusend2019/8/2328点对点传输发送消息:普通消息分类:Buffer消息:内存中的一段数据File消息:文件消息,一个消息只能对应一个文件消息可发送到的队列:发送队列本地队列远程队列2019/8/2329点对点传输接收消息:只能接收ready状态的消息只能从本地队列中接收消息采用等待模式接收(等待时间大于0或-1)和非等待模式(等待时间为0)接收2019/8/2330点对点传输消息接收确认模式MsgOpt.AckMode:自动接收模式TLQACK_AUTO接收后,自动删除队列中的消息用户确认模式TLQACK_USER接收后,须手工确认才从队列中删除消息。如果AckType=TLQACK_COMMIT提交确认后,成功接收的消息从队列中清除;如果AckType=TLQACK_ROLLBACK回滚确认后,成功接收的消息被重新放回到队列中2019/8/2331发布订阅发布订阅2019/8/2332发布订阅发布订阅是一种一对多的消息传输模式。消息发布者和订阅者通过主题建立联系,双方无需知道对方的存在。•发布(者):提供消息(者)•订阅(者):消费消息(者)•主题:订阅者和发布者之间发生联系的媒介2019/8/2333发布订阅概念发布订阅机制:区别与P2P消息传输模式,P2P模式下,消息的生产者必须知道消息的消费者在哪里。Pub/Sub下,消息的生产者无需知道消息的消费者在哪里,而且生产者生产的一个消息可以为多个消费者使用,生产者和消费者之间通过Topic进行关联。发布者:提供信息者订阅者:信息消费者订阅者标识:本地订阅者:MsgId异地订阅者:相邻的代理名2019/8/2334发布订阅图示PublisherSubscriberSubscriberSubscriberSubscriber主题举例:古董拍卖,主题为某个古董的竞价发布者:发布古董的最新价格信息订阅者:订阅古董的最新价格信息2019/8/2335发布订阅发布类型Event--事件型:每一次发布操作都是独立的。这种消息一般为重要的信息,如果订阅者没有收到可能造成损失。注:允许有多个发布者,只允许先订阅后发布State--状态型:一般为周期性发布更新的消息,后面发布的消息会覆盖前一次发布的消息。注:一般只允许有一个发布者,由用户保证。发布范围Local--本地发布:发布的消息只会被本地的订阅者收到;Global--异地发布:只会被非本地的订阅者收到;Local|Global--全局发布:整个网络中的订阅者均会收到。2019/8/2336发布订阅订阅类型持久订阅:代理重启后,订阅请求信息依然存在。非持久订阅:应用离线或代理重启后,该订阅请求信息不复存在。订阅范围Local--本地订阅:订阅者只能收到本地发布者发布的信息。Global--异地订阅:订阅者不会收到本地发布的信息,只会收到异地发布的信息。Local|Global--全局订阅:订阅者能够收到本地发布者和异地发布者发布的消息。2019/8/2337事务事务2019/8/2338事务概念为一组逻辑上相关的操作组成的工作单元,在操作时,这些操作要么一起提交,要么一起回滚。组成和操作特点(1)单纯的发送和接收操作,发送和接收操作的结合;(2)事务的不同分支可以操作一个或多个不同的队列,但不能跨QCU;(3)多个组消息或单消息的接收与发送;(4)删除和浏览操作不能放在事务中。提交提交之后,事务中的所有动作才开始执行。回滚当事务回滚信号发出后,等于所有的操作被放弃,即发往队列中的消息被清除,从本地队列中接收的消息被重新放回。2019/8/2339事件管理事件管理事件管理•为系统运行过程中发生的特定情况,这些特定情况可以被系统捕获或识别,以便用于分析。•事件发生时,如果要求被捕获,则会产生一条消息(EventMessage)放入到一个特定队列(TLQ.SYS.EVENT)中•编写应用分析事件队列中的事件消息,跟踪系统的运行。2019/8/2341事件管理事件消息概述(1)定义事件是为了跟踪所有消息的状态以及被处理的状况,对所有消息有效(2)为持久性消息;(3)生命周期无限长;(4)比普通消息多两个属性:事件类型和事件发生的时间;(5)TLQ启动时,会自动创建事件队列TLQ.SYS.EVENT;(6)事件队列满后,新产生的事件消息将被丢弃;2019/8/2342事件管理BeginSend开始发送消息SendOver发送消息完毕BeginRecv开始接收消息RecvOver消息接收完毕Expiry生命周期超时FileFail因对方空间(硬盘空间和队列空间)不足,尝试6次后从发送队列中删除RollbackCount本地队列中消息被rollback6次FileDel文件消息续传或开始发送时,对应的文件被删除或不存

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功