消息代理 (dbremote) 执行以下任务以发送消息:
扫描发布者事务日志 消息代理 (dbremote) 扫描发布者数据库的事务日志,并为预订者将事务日志条目转换为消息。由 -l 选项定义的最大消息长度在系统的所有数据库中必须相同。
对于大事务,消息代理 (dbremote) 会创建由多个部分组成的消息。所有这些消息都包含一个序列号,用来跟踪它们在事务中的位置。预订者数据库中的消息代理 (dbremote) 使用该序列号,以确保按正确顺序应用消息,并且不会丢失消息。
将消息发送到远程数据库 消息代理 (dbremote) 会按由每个远程用户的发送频率属性指定的时间发送消息。请参见调整发送延迟。
如果消息代理 (dbremote) 的高速缓存超过设置值,则消息代理 (dbremote) 会提前发送消息。消息代理 (dbremote) 将其消息存储在高速缓存中。当所用的高速缓存超过指定值时,将发送消息。请参见通过高速缓存消息调整吞吐量。
处理远程数据库的重发请求 当用户请求重新发送消息时,发布者数据库中的消息代理 (dbremote) 会中断常规消息发送过程,以处理重发请求。
可以控制使用 -ru 选项处理这些重发请求时执行的紧急程度。请参见调整处理重发请求的速度。
将确认发送到发布者数据库 在预订的数据库中收到并应用了消息后,会将确认返回给发布者。请参见了解保证消息传送系统。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |