2010-05-14 16 views
7

मान लें कि वेब फार्म में कई लोड-संतुलित वेब सर्वर हैं, क्या सिस्टम दिनांक/समय प्राप्त करने के लिए एप्लिकेशन कोड में ऐप/वेब सर्वर समय का उपयोग करना सुरक्षित है या क्या हमें यह जिम्मेदारी डेटाबेस सर्वर पर छोड़नी चाहिए ?एक वेब फार्म पर्यावरण में, क्या हमें सिस्टम सर्वर/समय को वेब सर्वर या डेटाबेस सर्वर पर आधार देना चाहिए?

इस बात की संभावना है कि webfarm में सभी सर्वरों पर मशीन दिनांक/समय सेटिंग समन्वयित नहीं हैं होगा?

तो दिनांक/समय डीबीएमएस की जिम्मेदार होगा, हम कैसे लोड संतुलित होगा इस रणनीति काम करता है, तो है क्लस्टर डीबीएस?

+0

मानक यूटीसी क्यों नहीं? –

+0

यह इस बात पर निर्भर करता है कि आप किस समय का उपयोग करना चाहते हैं। अगर आपको केवल निकटतम मिनट में जानना है, तो यह मिलीसेकंड की आवश्यकता के लिए एक अलग सवाल है। –

+0

इसके बजाय System.DateTime.UtcNow का उपयोग करें - यह किसी भी समस्या से बच जाएगा यदि मशीनें एक ही समय क्षेत्र पर सेट नहीं हैं। –

उत्तर

3

आप एक समय सर्वर (होना चाहिए। यह आपको एक ज्ञात सबसे खराब मामला विचलन के साथ छोड़ देगा। केवल तभी यदि वह विचलन आपके से बड़ा हो सकता है (वेब ​​ऐप में असंभव) तो आपको कुछ खास इंजीनियर करने की आवश्यकता होगी। आमतौर पर डेटाबेस ठीक रहेगा, लेकिन यदि यह क्लस्टर्ड है तो आपको समय के रखरखाव के रूप में एक समर्पित सर्वर नियुक्त करने की आवश्यकता हो सकती है।

लेकिन ध्यान दें कि आपकी सटीकता हमेशा नेटवर्क की अधिकतम अंतराल से बंधी जाएगी।

1

बेस्ट बस अन्यथा वहाँ हमेशा समय से आता है कि क्या के बारे में भ्रम की स्थिति है एक ही समय में सभी सर्वर पर सेट करके इसके बारे में चिंता करने की ज़रूरत नहीं है,।

यदि सर्वर पर घड़ियों नियमित रूप से एक समय सर्वर से सेट की जाती हैं, तो कम से कम 100 सेकंड के भीतर सटीक होना चाहिए, जो शायद काफी अच्छा है, हालांकि स्पष्ट रूप से यह निर्भर करता है कि आप वास्तव में क्या करने की कोशिश कर रहे हैं। :)

गंभीरता से, पहले दृष्टिकोण सुनिश्चित करें कि सभी सर्वरों एक प्रोटोकॉल का उपयोग उनके घड़ियों सिंक करने के लिए बनाने के लिए है -

संबंधित मुद्दे