原理:
服务由一个master节点和多个worker节点组成,分别部署在多台物理机上,master节点负责分布式锁的发放,woker负责数据处理
主要流程:
1.worker节点请求锁
2.master节点收到请求,发放锁
3.worker节点收到锁,重命名FTP上的一个文件为私有文件名,该文件对其它节点不可见(通过正则表达式判断处理),然后释放锁,再然后下载文件并处理数据,数据处理完,删除私有文件,并再次请求锁,以进行下一个文件的处理
4.master节点收到释放锁,释放信号量,使其能够继续处理下一个节点的锁请求
5.如果FTP上各节点的私有文件未处理完,就强制结束服务,则下次worker节点启动时,先判断其私有文件是否存在,如果存在,则向master节点请求直接处理,master节点收到请求后,给worker节点发送直接处理命令,worker节点收到命令下载处理文件
6.流程5的情况下,部分数据会重复处理,这交给后续的服务进行数据清洗去重处理
1