分类: Sybase
2008-04-11 10:31:06
来源:赛迪网 作者:limeinan |
正如基于会话的客户 / 服务器应用程序依赖网络通信协议堆栈 (例如TCP/IP 或 Novell NetWare 的 SPX)一样,基于消息的应用程序依赖消息服务 (例如,简单邮件传送协议 (SMTP), Microsoft 的消息传递 API(MAPI), Lotus 的与供应商无关的消息传递 (VIM) 或简单的共享文件链接)。
消息服务使用存储并存储并转发方法将每个消息传递到目的地:例如,电子邮件系统存储消息,直至收件方打开其邮件文件夹阅读邮件时为止,此时电子邮件系统转发消息。
在消息系统之上建立复制系统,这意味着要将消息传递到目的地,基于消息的复制系统 (例如 SQL Remote)并不需要实施存储并转发系统。
与基于会话的客户 / 服务器应用程序不实施自己的协议堆栈来在客户和服务器间传递信息一样, SQL Remote 使用现有的消息系统来传递消息。
有保证的收发
为了可靠地运行,基于消息的复制系统必须保证所有消息都能到达它们的目的地,并且按消息的发送顺序应用消息。 SQL Remote 包含一个协议,用于保证按正确的顺序应用复制更新。
基于连接的复制:Replication Server
某些复制技术依赖于数据库之间的不间断或至少接近不间断的连接。两个数据库通过这种连接进行不间断的对话。此类系统的优点是能够快速复制更改。实际上,如果有充足的资源和通道容量,复制就能够可靠地进行,而延迟时间不会超过几秒。
复制服务器是接近实时的复制系统,主要用于少量数据库之间的复制。它通常使用不间断的和可靠的高速连接。它包含存储并转发技术,这种技术能够在连接中断又重建后自动继续复制。
这类系统的主要缺点是,可靠的不间断连接的维护费用很高。由于这种限制,基于连接的技术适用于两个固定的大型数据库之间的复制。如果环境中的远程计算机是移动的或者只是不定时地进行连接,则基于消息或基于会话的技术可提供更灵活的解决方案。 |