GitHub برای مقابله با هجوم ترافیک هوش مصنوعی، زیرساخت ذخیرهسازی خود را از نو میسازد
تهران، ایران – غول دنیای میزبانی کد، GitHub، در اقدامی بیسابقه تصمیم گرفته است تا زیرساخت ذخیرهسازی اصلی خود را که میزبان میلیاردها خط کد است، از ابتدا بازسازی کند. این تصمیم در پی افزایش چشمگیر حجم دادهها و ترافیک ناشی از ابزارهای هوش مصنوعی اتخاذ شده است. GitHub اعلام کرده است که این تغییرات، که شامل انتقال دادهها به Azure Blob Storage مایکروسافت میشود، بدون ایجاد اختلال در خدمات برای کاربران و بدون نیاز به زمان توقف انجام خواهد شد.
افزایش بیسابقه حجم دادهها
بر اساس گزارشهای GitHub، حجم کلی فعالیتهای Git از ۲۱۸.۲ میلیارد عملیات در ماه سپتامبر ۲۰۲۵ به ۴۷۳.۳ میلیارد عملیات در ماه اوت ۲۰۲۶ رسیده است که بیش از دو برابر افزایش نشان میدهد. رشد در بخش ارسال کد (commit) حتی سریعتر بوده است؛ در سپتامبر ۲۰۲۶، توسعهدهندگان و عوامل هوش مصنوعی در مجموع ۷.۳۸ میلیارد ارسال کد انجام دادهاند که بیش از پنج برابر نسبت به سال قبل است. GitHub تأیید کرده است که افزایش قابل توجه در گردش کار توسعه مبتنی بر عامل هوش مصنوعی از اواسط دسامبر ۲۰۲۵، دلیل اصلی این انفجار ترافیک بوده است.
فشار بر بخش نوشتن (write) نیز به طور مستقیم افزایش یافته است. تعداد pushها از ۶۹۰ میلیون در ماه به ۳.۳۵ میلیارد رسیده که نشاندهنده رشد ۴۹۰ درصدی سالانه است. تعداد pull requestهای ادغام شده نیز تقریباً چهار برابر شده و GitHub Actions در ماه سپتامبر ۳.۲۶ میلیارد بار اجرا شده که بیش از چهار برابر نسبت به سال قبل است. پرکاربردترین مخزن منفرد نیز در ماه اوت حدود ۱ میلیارد درخواست دریافت کرده است.
چالشهای معماری قدیمی (Spokes)
معماری قدیمی GitHub که با نام Spokes شناخته میشود، هر مخزن را بر روی دیسکهای سخت سرورهای فایل متعدد کپی میکرد. این رویکرد برای خواندن (read) کارآمد بود، اما در بخش نوشتن (write) با مشکل مواجه بود. پروتکل commit سه مرحلهای برای بهروزرسانی مراجع (ref) نیاز به تأیید اکثر کپیها داشت، که سرعت هر push را به کندترین کپی وابسته میکرد. این امر منجر به کندی در نوشتن، کاهش توانایی خواندن با کاهش تعداد کپیها و حتی توقف کامل نوشتن در صورت عدم دستیابی به حد نصاب تأیید شد.
عوامل هوش مصنوعی این محدودیتها را به اوج خود رساندهاند. GitHub به مواردی مانند ارسال مکرر commit توسط عاملها، ایجاد شاخههای متعدد توسط هزاران عامل در یک مخزن، ادغام متمرکز بر روی یک مرجع اصلی و درخواستهای مکرر CI/CD و اسکن کد اشاره کرده است.
معماری جدید: جداسازی ذخیرهسازی و پاسخگویی به درخواستها
معماری جدید GitHub با جداسازی “ذخیره دادهها” و “پاسخگویی به درخواستها” طراحی شده است. دادههای معتبر مخزن به Azure Blob Storage منتقل میشوند که دوام و تکثیر دادهها را تضمین میکند. بخش خواندن توسط گرههای محاسباتی سبکوزن که با جریان ترافیک قابل مقیاسبندی هستند، مدیریت میشود و این گرهها صرفاً به عنوان حافظه پنهان (cache) عمل میکنند.
در بخش نوشتن، تنها مرحله “بهروزرسانی مرجع” نیاز به هماهنگی دارد. مراحل پرهزینهتر مانند ذخیره اشیاء، بررسی یکپارچگی دادهها و اسکن برای انتقال نادرست دادهها، میتوانند به صورت موازی با سایر عملیات نوشتن انجام شوند. وظایف نگهداری مانند فشردهسازی و جمعآوری زباله (garbage collection) به گرههای پسزمینه مستقل منتقل شدهاند تا از اشغال منابع ماشینهای پاسخگویی به درخواستها جلوگیری شود.
نتایج و چشمانداز آینده
GitHub اعلام کرده است که در تستهای داخلی، توان عملیاتی نوشتن (write throughput) تا ۳۵ برابر افزایش یافته و ظرفیت خواندن نیز به طور مستقل قابل مقیاسبندی است. این نتایج مربوط به تستهای داخلی است و هنوز در محیط عملیاتی واقعی اعمال نشده است.
GitHub تأکید کرده است که این تغییرات معماری، گلوگاههای نوشتن Git را برطرف کرده و محدودیتهای ساختاری مانند تداخل خواندن و نوشتن و توقف عملیات را از بین میبرد. پایداری سایر بخشها به پروژههای مهندسی موازی GitHub، از جمله انتقال خدمات به Azure و جداسازی پایگاههای داده مشترک، بستگی دارد.
جزئیات مربوط به زمانبندی اجرای این پروژه و نتایج واقعی آن در گزارشهای آتی GitHub منتشر خواهد شد.



