2011-08-03 16 views
5

हम एक बहु साइट परियोजना के लिए गिट का उपयोग कर रहे हैं और दोनों रेपो और टीम काफी हद तक बढ़ी हैं। इसलिए दूरस्थ साइटें पीड़ित हैं। मैं अपने गिट सर्वर पर लोड कम करने और डाउनलोड को तेज़ी से बनाने के लिए रिमोट साइटों पर नए गिट सर्वर जोड़ना चाहता हूं। हालांकि मुझे यकीन नहीं है कि इन सिंक्रनाइज़ेशन को कैसे रखा जाए। क्या गिट सर्वर परमाणु रूप से दोहराने का कोई तरीका है? और यदि कोई अन्य सुझाव नहीं है?गिट सर्वर प्रतिकृति

उत्तर

3

आपके पास मुख्य "लेखन" रेपो हो सकता है, और कई रिमोट, केवल पढ़ते हैं, उस से प्रतिलिपि खींचती है। बदले में, दूरस्थ उपयोगकर्ता उनसे खींचेंगे। इससे आपको दूरस्थ साइटों से डाउनलोड गति में वृद्धि होगी। अपलोड अभी भी वही होंगे, लेकिन ऐसा लगता है कि डाउनलोड की गति आपकी मुख्य चिंता है।

+0

मैं एक ही चीज़ के बारे में सोच रहा था। हालांकि आप ऐसी परिस्थिति से कैसे बचते हैं जहां प्रतिबद्धता केवल पढ़ने वाले सर्वर से खींचने के खिलाफ है जो अद्यतित नहीं है? ऐसा लगता है कि इससे कुछ मुद्दों (विलय/विवाद आदि) हो सकते हैं। –

+2

पुश असफल हो जाएगा और उपयोगकर्ता को रीफ्रेश करना होगा और विलय करना होगा या रीबेस करना होगा और पुनः प्रयास करना होगा। अच्छी, साफ, लगातार प्रतिबद्धता को प्रोत्साहित करें और यह आपके लिए कभी भी कोई मुद्दा नहीं होगा। यदि हर सुबह उस दिन की पुल से पूरे दिन काम करता है और एक अंतिम "घर जाने का समय" प्रतिबद्ध करता है और जब वे सीटी उड़ाते हैं तो वे सभी इसे सही धक्का देते हैं, वहां उत्पन्न विवाद और अतिरिक्त काम केवल लक्षण होते हैं। :) – Dustin

+1

वही समस्या तब हो सकती है जब आपने इसे _central_ repo से खींचा और खींचने के बाद कोई भी काम करता है। आप आसानी से एक हुक या क्रॉन सेट कर सकते हैं जो सुनिश्चित करेगा कि _satellite_ repos _central_ repo – Andy

1

आप परमाणु रूप से दोहराना नहीं कर सकते हैं। मैं उम्मीद कर रहा हूं कि इसका मतलब यह नहीं है कि आपका क्या मतलब है।

मैंने gitmirror को स्वचालित रूप से भंडार परिवर्तन पर रिमोट पुल-आधारित प्रतिकृति को ट्रिगर करने के लिए लिखा था। इसे सेटअप के एक छोटे से बिट की आवश्यकता होती है, लेकिन मुझे इसमें गिटूब के माध्यम से बहुत सी चीजें मिलती हैं (और कुछ जो जिथब का उपयोग नहीं करते हैं)।

+0

के पीछे कुछ मिनटों से अधिक नहीं है, वास्तव में मैं परमाणु रूप से मतलब था। हालांकि gitmirror मेरी समस्या के दूसरे हिस्से को हल कर सकता है जो मिररिंग था। –

+0

परमाणु रूप से वैश्विक स्तर पर वितरित सिस्टम के साथ बहुत बढ़िया हिस्सों के साथ बहुत अच्छी तरह से असंगत है। यह भी अवांछनीय है। एक वितरित संशोधन नियंत्रण प्रणाली का उद्देश्य इस तरह की चीजों को काम करने की अनुमति देना है, भले ही कोई कनेक्शन न हो। – Dustin

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