我正在用c ++实现google f1 online async schema change algorithm,假设服务器1将数据写入共享存储,服务器2必须能够在 X 秒内从共享存储中读取数据或死。
我们如何为服务器2实现此功能?
我现在能想到的最安全的方法是:
while(1) {
sleep(X/2);
globalLockGuard(); # even the server is not died,it can't write any data so it can't damage any data.
time1 = now();
loadFromSharedStorage();
if (now - time1 > x/2) {
die;
}
}
我的问题是: