我需要将处理记录的工作分配给不同的机器。
在每个机器(节点)上,我每分钟运行以下查询:
select *
from RECORDS_TO_PROCESS
limit MAX_PER_MACHINE_RUN
for update
假设我有1000条记录需要处理,有10台机器(节点),每台机器每分钟最多要处理100条记录。
R1
R2
R3
...
R101
R102
R103
...
R201
R202
R203
...
我想要的是,查询Node1时只返回R1-100的记录,查询Node2时只返回R101-R200的记录等等。请问这样做是否可行?我们认为这样做能够分散负载吗?假设事务隔离级别是默认的Read Committed。