我目前负责建立一个多环境管理的部署和我们计划部署两个或更多的管理服务器管理小组提供高可用性和可伸缩性。

我们的关注现在是如何处理并发适配器喜欢WCF SQL和文件的适配器,因为它可能是可能的,例如用于SQL适配器这两个管接收机会保持在投票上相同的数据库表。

最初,我的想法SQL是采用锁定提示但我真的不知道如果有任何其他关注此,或者如果还有任何其他证明的解决方案。

对于文件的适配器是什么我知道的是这有可能设置的接收器更改文件的文件处理期间,以便其他主管将避免捡的文件,但我不是很确信如果这个解决方案是足够的,已经处理并发。

我将感谢任何的帮助/建议。

非常感谢

有帮助吗?

解决方案

一般 大多数管理适配器,将会避免竞争条件。

例如,管理文件的适配器已经实现了文件锁使多个实例的文件适配器上的不同主机不会阅读同一的文件。

使用的文件重新命名的特征是解释如下(从 MSDN文件)

你还可以配置文件 接收器到重新命名的文件的时候 处理他们。你应该重新命名 文件以确保收到 转接器不会产生重复的 消息,如果接收位置 关闭并重新启动

有几适配器不安全时运行多个实例。这些包括(但有可能是其他人)POP3,FTP,内容/MSMQT和数据库的适配器在投票情况。

对于那些适配器可以使用管理功能的集群的主机。有一个职位 在这里, 说明使用和配置的集群的主机。这是最简单的方法来确保SQL询将不会产生重复。你也可以实现这在SQL的水平,如果您需要。

超出你是真的进入具体的业务流程和您将需要设计用于每一种情况。例如-什么情况,如果同一文件是提供两次通过一个来源的系统?

看到以下两个这样的员额对于一些更多的信息,围绕这个主题:

管-收到口阅读两次从数据库

网络中的负载均衡的管理的实例

其他提示

谢谢你的回答和你们提供的。实际上我已经读其中的一些,我还是能做一些测试关于这些解决方案。为SQL适配器,主管聚类被证明是一个良好的解决办法,但会导致你的不要最大限度地利用管理集团(主冗余),为扩展性的目的。因此,对于这个原因,我们已经决定我们要避免的集群解决方案,但消息框其真正需要的群集的高可用性。我们正在试图完成的任务是具有一个"主动/主动"或者我应该说的负载平衡通过管理服务器组群,这意味着我们真的要有几个SQL接收器询的同时进行。我的解决方案最初是在查询水平的处理它通过锁定的暗示,以下是一样的我的SP。

MERGE INTO EmployeeComp
USING (SELECT EmployeeID
FROM
[AdventureWorks].[dbo].[EmployeeComp] 
WITH (READPAST, UPDLOCK) 
WHERE
[AdventureWorks].[dbo].[EmployeeComp].[Status] = 0) e(EmployeeID)
 ON EmployeeComp.EmployeeID = e.EmployeeID
WHEN MATCHED THEN
 UPDATE SET
 STATUS = 2

OUTPUT Inserted.EmployeeID, Inserted.Name, Inserted.Status;

你可以得到一些反馈与SP我已经创建了?我做了些测试的约有500 000名的数据在读通过管WCF-SQL适配器,然后在同一时间,另一个成千上万的数据正在编写,它被证明是工作为什么的我的预期。

虽然解决方案似乎是美好的但我还不确定什么是影响这种解决方案,也许你可以摆脱我一些光有这个吗?

我也想如果这是可能的使用SQL服务器服务的经纪人从这篇文章。 http://blogs.msdn.com/adapters/archive/2008/06/30/using-the-wcf-sql-adapter-to-read-messages-from-ssb-queues-and-submit-them-to-biztalk.aspx

现在我还在检查它但尚未确定,如果如何能够解决这个问题。

非常感谢

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top