पिछले एक साल में, Git ट्रैफ़िक के तेज़ी से बढ़ने के साथ, GitHub के लगभग सभी Git रिपॉज़िटरी एक साथ दो जगहों पर रहने लगे: GitHub के अपने डेटा सेंटर और Azure। सबसे व्यस्त रिपॉज़िटरी अब भी एक ही कारक से बंधे हैं: क्षेत्रों के बीच 25 मिलीसेकंड का राउंड ट्रिप।
एक पिछली पोस्ट में, GitHub ने अपनी अगली पीढ़ी की स्टोरेज आर्किटेक्चर के पीछे के दो सिद्धांत बताए थे: समन्वय को न्यूनतम करना और स्टोरेज को कंप्यूट से अलग करना। यह पोस्ट पुराने और नए डिज़ाइन के बीच के सेतु की जाँच करती है। क्वोरम के लिखने के क्रम को बदलने से सबसे व्यस्त रिपॉज़िटरी Azure में आ गए, और यही कदम उन रेप्लिका के लिए रास्ता खोलता है जिनकी अपनी कोई स्थायी स्थिति नहीं होती।
इस स्थानांतरण का समय एजेंटिक बदलाव से तय हुआ: तेज़ी से बढ़ता ट्रैफ़िक, GitHub के डेटा सेंटरों और आसपास के क्षेत्र में बिजली क्षमता की कठोर सीमा, और भौतिक आपूर्ति श्रृंखला की बाधाएँ। बची हुई क्षमता सुरक्षित रूप से स्थानांतरित होने के लिए पर्याप्त समय देती थी, पर धीरे-धीरे करने के लिए नहीं। चूँकि Git ऑपरेशन एक Tier 0 सेवा हैं, जिस पर GitHub की लगभग हर चीज़ निर्भर है, इसलिए डेटा को पहले जाना था और आर्किटेक्चर उसके पहुँचने के बाद विकसित होना था। किसी रिपॉज़िटरी की पहली प्रति अगस्त 2025 में Azure के Central US क्षेत्र में पहुँची। आज, अधिकांश रिपॉज़िटरी की पाँच में से दो रेप्लिका Azure में हैं, और Azure लगभग आधा Git ट्रैफ़िक संभालता है।
शेष 0.00001% रिपॉज़िटरी एक कठिन समस्या हैं। मौजूदा आर्किटेक्चर में, किसी लिखने के ऑपरेशन को हर स्वस्थ रेप्लिका के जवाब का इंतज़ार करना पड़ता है, इसलिए सबसे धीमी रेप्लिका विलंबता और थ्रूपुट दोनों तय करती है। लक्ष्य Azure क्षेत्र की रेप्लिका लगभग 1,000 मील दूर है, और हर लिखने में कई राउंड ट्रिप लगते हैं। समाधान समन्वय को न्यूनतम करने में है: Git की संगति की आवश्यकताएँ हर reference पर अलग से लागू होती हैं, और अलग-अलग references के अपडेट आमतौर पर एक-दूसरे पर निर्भर नहीं करते, इसलिए उन्हें क्रम में रखना ज़रूरी नहीं।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित