मैं अपने ऐप में एक सरल सिंक्रनाइज़ेशन क्षमता लिखने की सोच रहा हूं और पॉप-अप की गई चिंताओं में से एक दो दूरस्थ कंप्यूटरों के बीच समय का सिंक्रनाइज़ेशन है, प्रत्येक अपनी घड़ी के साथ (इन फाइल/वस्तुओं की संशोधन तिथियों के बारे में विशेष रूप से)।दो दूरस्थ कंप्यूटरों के बीच सिंक्रनाइज़ेशन (घड़ियों का)
मुझे यकीन है कि इस विषय पर बहुत सारे शोध किए गए हैं और सैद्धांतिक नहीं होना चाहते हैं, लेकिन मुझे आश्चर्य है कि रिमोट घड़ियों के बीच अस्थायी विसंगतियों को कम करने के लिए कोई स्वीकार्य सर्वोत्तम प्रथाएं हैं या नहीं?
उदाहरण के लिए, हमेशा एक सार्वभौमिक समय (यूटीसी) का उपयोग करना है क्योंकि टाइमज़ोन समस्याओं से बचा जाता है, लेकिन इस बात की कोई गारंटी नहीं है कि दो कंप्यूटरों का बिल्कुल सिस्टम सिस्टम होगा। सौभाग्य से मैं जो काम कर रहा हूं वह बहुत अच्छा नहीं है, इसलिए यह एक बहुत ही महत्वपूर्ण चिंता नहीं है, लेकिन फिर भी मैं उत्सुक हूं।
एक समाधान स्थानीय सिस्टम घड़ी की बजाय वैश्विक समय सर्वर जैसे दोनों सिरों पर हमेशा एक ही घड़ी का उपयोग करना होगा। संभवतः यह (साझा संसाधन ताले के साथ संयुक्त) सिंक्रनाइज़ किए गए समय के आकस्मिक ओवरलैप की गारंटी दे सकता है, लेकिन यह बहुत व्यावहारिक नहीं है।
एक विचार है कि मेरे सिर में बस एक ही समय पर गणना की गई ऑफसेट के साथ प्रत्येक नोड (प्रत्येक क्लाइंट) को सिंक्रनाइज़ करना होगा, शायद वैश्विक घड़ी सर्वर के साथ सिस्टम घड़ी के ऑफ़सेट की गणना करके। यह केवल कभी-कभी किया जाना चाहिए क्योंकि ऑफसेट स्वयं ही थोड़े समय के दौरान काफी बदलाव नहीं करेगा।
अपडेट: मुझे बस इतना कहना है कि मुझे वास्तव में दो कंप्यूटरों के सिस्टम घड़ियों को सिंक्रनाइज़ करने में कोई दिलचस्पी नहीं है - मुझे लगता है कि ऑपरेटिंग सिस्टम ज्यादातर मामलों में इसे संभालेगा। यह केवल एक प्रश्न है कि एक आवेदन के दो उदाहरण सिंक्रनाइज़ किए गए समय का उपयोग कैसे कर रहे हैं, हालांकि इस दिन और उम्र में मुझे लगता है कि सिस्टम घड़ियों को लगभग कुछ छोटे डेल्टा के भीतर निश्चित रूप से सिंक्रनाइज़ किया जाएगा।
मैंने लैमपोर्ट के पेपर को देखा, और ऐसा लगता है कि घड़ी सिंक्रनाइज़ेशन की चर्चा में व्यापक रूप से उद्धृत किया गया है .. दुर्भाग्यवश, [ऐसा लगता है] (http://www.amazon.com/Distributed- सिस्टम- सिद्धांत- पैराडाइम्स-2nd/dp/0132392275) कि यह एल्गोरिदम वास्तविक समय अनुप्रयोगों के लिए उपयुक्त नहीं है (जैसा कि किसी ने चर्चा की [यहां] (http://stackoverflow.com/questions/12760388/how-to-set-a-variable-that-represent-a- समय-में-भविष्य में-पूर्ण-नियम-ओबीजे)) .. वास्तविक समय घड़ी सिंक्रनाइज़ेशन एल्गोरिदम पर कोई सुझाव जो गैर एनटीपी निर्भर है? – abbood