0

背景资料:

我有一个基于主/从模式的分布式应用程序。master 会定期收到一个 JSON 文件,格式如下

[{'key' : 'a_hashed_unique_key', 'partner_name' : 'name1'}]

我将所有具有相同*'partner_name'*的 JSON 对象聚合并写入一个文件,这会产生多个 JOB 文件(每个文件对应一个 partner_name)。

所有这些生成的文件都被写入 在 Master 和 Slave 之间共享的网络存储中

Slave VM 开机后请求一个 JOB 文件,master 共享网络存储上的 JOB 文件的路径,slave 开始处理它。

问题: 跟踪作业和处理作业文件的从属计算机的最佳方法是什么?

基于哈希的集合,即 HashMap 看起来很合适,我会同时访问它,并且可以考虑以下场景

  • 从属请求作业文件。
  • 从集合中删除已完成的作业。
  • 在收到新的输入文件时添加新的作业文件。

我更喜欢具有内部同步的实现,以便可以跨线程原子地读取/修改作业注册表。

4

0 回答 0