openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #05936
Re: time synchronization matters?
您好,我认为您的理解是对的,期待您到时候可以分享下您的suggestions on deploying multiple proxies in production environment“
下面这段是我在官方网站上看到的,请参考:
System Time¶
Time may be relative but it is relatively important for Swift! Swift uses timestamps to determine which is the most recent version of an object. It is very important for the system time on each server in the cluster to by synced as closely as possible (more so for the proxy server, but in general it is a good idea for all the servers). At Rackspace, we use NTP with a local NTP server to ensure that the system times are as close as possible. This should also be monitored to ensure that the times do not vary too much.
At 2011-12-06 00:06:43,"宋杰" <nightelf1984@xxxxxxxxx> wrote:
Hi all,
According to what I learned from swift source code, It seems that most operations like object 'put' and 'replication' is highly depends on timestamp.
For example, when proxy receives an object 'put' request, it records the timestamp which at last will be used by object server for object naming. During this process, the object server compares timestamp to check if there is an older object existed, if so it will delete the older one. Now it comes to my question: if multiple proxies are deployed, strict time synchronization among them is really matters to make swift function well, right? My thought is: when user uploads two same-path objects to two separate proxies (say 1st upload -> p1; 2nd upload -> p2), then if p2's clock is far behind p1, the 2nd upload operation might effect nothing though from the point of user's view it should be treated as final version...
If my understanding is correct, then what' your suggestions on deploying multiple proxies in production environment?
--
life is a box of chocolate
References