SQL Remote 消息代理 (dbremote) 在接收消息时会执行以下任务:
轮询进来的消息 要检查是否存在已到达数据库的新消息,SQL Remote 消息代理 (dbremote) 会轮询新消息。请参见调整轮询间隔以检查新消息。
读取消息 消息到达后,会在应用前由 SQL Remote 消息代理 (dbremote) 读取并存储在高速缓存中。请参见通过高速缓存接收到的消息调整吞吐量。
如果某个消息丢失,且 SQL Remote 消息代理 (dbremote) 在连续模式下运行,则 SQL Remote 消息代理 (dbremote) 会等待该消息在后续轮询中到达。SQL Remote 消息代理 (dbremote) 等待的轮询数被称为等待时间,并且由 -rp 选项指定。
如果丢失的消息在 SQL Remote 消息代理 (dbremote) 的等待时间到期之前到达,则该丢失的消息将按正确的顺序添加到高速缓存。
如果丢失的消息未到达而 SQL Remote 消息代理 (dbremote) 的等待时间已到期,则 SQL Remote 消息代理 (dbremote) 会发送请求,要求从发布者数据库重新发送该消息。
消息会继续被读取并添加至高速缓存,直到超出高速缓存的使用量。当超过通过 -m 选项指定的高速缓存使用量时,消息将被删除。
请参见调整要重新发送消息的请求。
应用消息 SQL Remote 消息代理 (dbremote) 按正确的顺序将消息应用到预订者数据库。请参见调整工作线程数。
等待消息已应用到预订者数据库的确认 在预订的数据库中收到并应用了该消息后,将把确认信息返回给发布者。发布者 SQL Remote 消息代理 (dbremote) 在接收到确认后,将在系统表中跟踪该确认。请参见了解保证消息传送系统。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |