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