10使用c#在Azure表存储中同时插入10个线程

问题描述:

如果我从10个线程中获取响应并且它们中的一些同时或同时响应,会发生什么情况,请尝试将响应插入位于天蓝色的表中表格存储。它会打破或抛出错误?如果是的话,如何处理在C#中?10使用c#在Azure表存储中同时插入10个线程

+0

你已经试过了吗?这真的取决于数据。如果它们没有重叠的PK/RK组合,则不会有问题。否则,您可能会遇到需要解决的冲突。 –

+0

彼得是正确的。关于并发控制的细节,我建议你阅读博客文章:https://azure.microsoft.com/en-us/blog/managing-concurrency-in-microsoft-azure-storage-2/ –

据我所知,azure表存储不会捕获您现在使用多少个线程将值插入到表中。

它只会捕获表存储的吞吐量。

主要是这一目标:

Maximum request rate per storage account Tables: 20,000 transactions per second (assuming 1 KB entity size) 

Target throughput for single table partition (1 KB entities): Up to 2000 entities per second 

所以,如果您的应用程序不超过表存储吞吐量限制。它不会返回错误。

如果您已超过表存储吞吐量限制,则可以使用try catch捕获异常并在以后插入数据。

另外,正如赵兴露所说,你需要考虑更多关于并发性的更多细节,你可以参考这个article