java - 限制对共享资源的访问的设计模式
问题描述
问题陈述
在启动时,多台机器将联机。有一个调度程序将在每台机器上运行。调度程序将在每台机器上每 5 分钟触发一次。他会从 Cassandra 读取大量数据。然而,只有一台机器必须从 Cassandra 读取这些消息,并且必须在完成后删除这些消息。两台或多台机器读取/处理相同的数据会在下游系统上造成不希望的负载。
可能的解决方案:
使用 zookeeper 实现分布式锁。
也许利用领导者选举设计模式。
共享资源设计模式也以同样的方式工作。
修改后的漏桶设计模式,可以与分布式应用程序一起使用
有没有可以用来解决这个问题的设计模式?
解决方案
推荐阅读
- mule - 将具有多个数组的有效负载转换为单个数组
- django - django 中的选择
- elasticsearch - 弹性搜索 - 所有父项和匹配嵌套
- python - 混淆 groupby 对象与 pandas 中标准差计算的结果
- c# - NUnit 将数据从 OneTimeSetUp 传递到该夹具中的所有测试
- java - 使用变换矩阵的形状旋转
- javascript - 如何重写 Promise 代码以避免警告
- java - 如何处理 stompjs Web 套接字中的 Internet 连接丢失
- c++ - 使用终止程序的指针在数组中输入字符串
- events - VUE:如果孩子发出事件,则在父母中进行更改