在两个不同的服务器中处理并发事务

时间:2018-08-13 11:47:36

标签: sql-server rest concurrency

我需要实现一个Windows服务,该服务可以实时从另一个应用程序调用REST服务并处理该响应。 Windows服务的目标是-

  1. Windows服务必须从SQL Server批量提取100条记录 数据库。
  2. 构造请求并调用REST API。
  3. 收到响应后,更新状态并处理响应,并 在数据库中更新。

到目前为止,此当前状态一直没有任何问题,现在,由于负载增加,我们不得不将同一服务的另一个实例放置在另一台服务器上。由于这两个实例并行运行,因此我需要了解以下内容,如果有任何建议,请告诉我-

  1. 如何确保未发送相同的记录来调用REST API 一遍又一遍。
  2. 在这种情况下处理并发的最佳方法是什么。

非常感谢。

1 个答案:

答案 0 :(得分:0)

我的建议是在第一层处理该问题,即从sql数据库获取记录。

在您的应用程序代码中,获取具有锁定范围内的记录,并将其标记为isprocessing。 (您可以为此添加一列)。 您的应用程序应获取IsProcessing值为false的记录。