मैं उन पैमानों के लिए आपको सलाह नहीं देता, जिनसे आप बात कर रहे हैं। यह काम कर सकता है, लेकिन मैं व्यक्तिगत रूप से लाने के लिए उस मॉडल का उपयोग करने के साथ कुछ कमी देखता हूं।
वहाँ कुछ चीजें हैं जो निर्धारित करती हैं कि इस बारे में सबसे अच्छा कैसे जाना जाए:
- कितने बड़े रेपो को साझा किया जाना चाहिए।
- कितनी तेजी से इसे एकाग्र करने की जरूरत है।
सही अभिसरण के लिए, और अधिकतम गति के लिए आपको एक नेटवर्क फ़ाइल सिस्टम के साथ जाना होगा, जैसे कि NFSv4। जिन क्लस्टर्ड फाइल सिस्टम के बारे में मुझे पता है, वे नोड्स के 'मल्टीपल सैकड़ों' को स्केल नहीं करते हैं, इसलिए इसे नेटवर्क फाइल सिस्टम होना चाहिए। यह अपनी चुनौतियों को प्रस्तुत करता है, लेकिन इसका मतलब है कि आप उस क्षण तक पहुंच जाएंगे जब एनएफएस सिर पर फाइलें अपडेट की जाती हैं।
तेजी से अभिसरण के लिए, आप कुछ rsync ट्रिकरी का उपयोग कर सकते हैं। यदि rsync डेमॉन CPU बाउंड होने पर समाप्त होता है, तो आप निश्चित रूप से एक दो-तीन rsync सर्वर को एक लोडबॉलर जैसे haproxy के पीछे रख सकते हैं। युगल जो क्रॉन जॉब्स के साथ डेटा (या कोड अपडेट को ट्रिगर करने का कोई अन्य तरीका) खींचते हैं और आप अभिसरण को बहुत जल्दी हिट कर सकते हैं।
उपरोक्त दोनों के लिए, संभवतः अधिकतम थ्रूपुट के लिए 10GbE लिंक पर केंद्रीय भंडार को रखना एक अच्छा विचार होगा।
एक वैकल्पिक एक पुश- rsync है, जहां यह केंद्रीय रेपो से आपके सर्वर पर अपडेट पुश करने के लिए चलाया जाता है। यह उपर्युक्त में से किसी एक के रूप में उपवास नहीं करेगा, लेकिन आपके आंतरिक बैंडविड्थ के लिए अधिक अनुकूल होगा। बेहतर गति के लिए विभाजित सीमा पर धकेलने वाले कई मेजबानों का उपयोग करें।