【问题标题】:How access a set of folders from a list of services without a conflict如何从服务列表中访问一组文件夹而不会发生冲突
【发布时间】:2017-01-08 09:20:00
【问题描述】:

我有一组运行在不同服务器上的服务,它们都访问共享资源,例如;包含需要一些处理的视频的文件夹列表。

我想实现一些锁定机制来防止服务同时访问同一个文件夹,到目前为止,我的想法是在文件夹中创建一个文本文件作为“文件夹内锁定”并检查该文件之前是否存在处理里面的视频文件。

我很确定这个测试在服务寻找文件夹来处理的实际生产环境中表现不佳。

有什么想法吗?

任何帮助表示赞赏,在此先感谢。

【问题讨论】:

标签: c# locking shared-directory


【解决方案1】:

您可以使用一些分布式锁定机制,例如Redis RedlockConsul lock,但是如果您有多个服务器争夺这个共享文件夹,为什么不考虑将文件分片到多个文件夹中(使用一致的哈希算法)然后让您的服务器(使用相同的一致哈希算法)仅处理其专用文件夹的文件?这样您就可以并行处理,而不是让所有 N-1 个服务器等待第 N 个服务器处理您拥有的单个文件夹中的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 2021-04-07
    • 2011-12-03
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多