使用xml调用防止多次创建

时间:2018-02-20 21:25:43

标签: c# multithreading server mutex

在我的应用程序中,它分布在许多服务器中,需要通过调用外部服务来创建一个id。我可以使用锁,但它只是服务器特定的。我希望它在应用程序中是安全的,即所有服务器。如果创建调用来自服务器,锁定并创建,然后让其他服务器获取创建的服务器?正在考虑MUTEX。好主意?

1 个答案:

答案 0 :(得分:0)

为了不对性能进行限制,您可以复制MS SQL Server方法(在序列号列的复制服务器中使用)。在这种情况下,您为每个服务器分配一个值块,该服务器对其所使用的服务器是唯一的。 ID块来自核心单个服务器。

消费服务器只需要在核心服务器耗尽时(或者它将耗尽的项目)对核心服务器进行阻塞调用。

这是高度可扩展的并且保证了唯一性,但它不保证处理期间的连续序列,但最终历史存储中记录的所有记录将是连续的,因为每个服务器最终将提供其所有ID。

这是对SQL Server如何实现这一点的参考。 https://docs.microsoft.com/en-us/sql/relational-databases/replication/publish/replicate-identity-columns