维护ip不可用机器池 数据结构:一个hashset,内存,mangodb
master和master2共享一个mangodb
所有的计算都必须挂在任务的计算队列里,不同的任务异步执行,同一个任务同步执行.避开并发操作的修改覆盖.
添加
master从负载队列里找到一个低负载的机器A计算任务完成,A向master发送计算结果.
master存储最后结果,通知A删除本地数据,相应的B也删除.
删除
从数据库找到任务数据查看别人,根据resource,得到一个list,乱序,返回一页大小的实体集合
挑战某个资源点,master在数据记录上标记发fighing,timestamp
挑战成功,master标记fighting为attacked,一定时间内不再被查询;并通知node1修改资源产出,表示被掠夺
ops
机器不可用.
master和机器的心跳中断,判断机器不可用.
坏机器的ip从可用池中移到不可用池
坏机器作为备份结点,master检索出相对应的计算结点,向其通知新的备份结点,master更新数据库的备份节点字段
坏机器作为计算结点,master检索出相对应的备份结点,向其通知开始作为计算结点,并给出备份节点,master更新数据库的计算和备份节点
注册机器
坏机器修复好,清洗数据和计算环境
向master注册,检查是否需要移除不可用ip
注册一个新的可用ip