我有一个多实例工作者角色。
它需要做两件事。
这两个操作都是时间敏感的,在多实例环境中,第二个实例可能会在第一个实例返回并删除它们之前提取文件/电子邮件的重复副本。
我计划围绕主下载方法实现同步锁定机制,该方法获取blob文件的租约。目标是它将充当锁定,防止另一个实例在下载 - 保存 - 删除操作的持续时间内受到干扰。如果实例1出现任何问题(即它崩溃),那么租约最终会到期,第二个实例将在下一个循环中从中断处继续,我可以保持我的SLA
只是想知道这是否是一个可行的解决方案,或者我是否应该注意哪些问题?
答案 0 :(得分:1)
Blob租约是跨多个服务器的可行锁定策略。
但是,我仍然保持谨慎,并将每封电子邮件的下载记录为单独的记录,以便最大限度地减少同一电子邮件的意外双重下载。