我有x臺機器,我想選擇1來完成特定的工作(主要機器)。我有一個數據庫,這是這些機器唯一的共享資源,沒有機器間通信機制。領導者選擇
爲了選擇一臺機器,我正在考慮給db寫一個值,並選擇先選擇哪個成功(比如說M1)。 M1定期更新數據庫以說明它的存在。當M1死亡時,看到M1最近沒有更新DB的其他機器會嘗試寫入db以承擔主機角色。
在任何給定的時間點,我可以讓機器向db寫入什麼值,所以每臺機器都會嘗試寫入相同的值?如果所有機器中的時鐘都是同步的,我可能需要YYMMDDHHMM。但情況可能並非如此。
任何指針/想法?
爲什麼每臺機器都寫相同的值?當然,M1必須寫出與M2所寫的不同的東西,所以M2知道M1首先到達那裏。 – 2012-08-03 11:31:40
你不能使用DBMS的功能來查詢服務器本身的時間嗎? – 2012-08-03 12:43:36
@ReinierTorenbeek,謝謝,我不知道爲什麼我沒有想到這一點。 – Sam 2012-08-03 17:28:55