首页 > 解决方案 > 限制对共享资源的访问的设计模式

问题描述

问题陈述

在启动时,多台机器将联机。有一个调度程序将在每台机器上运行。调度程序将在每台机器上每 5 分钟触发一次。他会从 Cassandra 读取大量数据。然而,只有一台机器必须从 Cassandra 读取这些消息,并且必须在完成后删除这些消息。两台或多台机器读取/处理相同的数据会在下游系统上造成不希望的负载。

可能的解决方案:

使用 zookeeper 实现分布式锁。
也许利用领导者选举设计模式。
共享资源设计模式也以同样的方式工作。
修改后的漏桶设计模式,可以与分布式应用程序一起使用

有没有可以用来解决这个问题的设计模式?

标签: javadesign-patternsdistributed-system

解决方案


推荐阅读