قطعی سراسری Railway به خاطر تعلیق حساب گوگل کلود
خلاصهٔ کاملتر
در شب ۱۹ مه ۲۰۲۶، گوگل کلود به صورت خودکار و اشتباهی حساب تولید Railway را تعلیق کرد. این اقدام بخشی از یک عملیات خودکار گستردهتر بود که حسابهای زیادی رو تحت تأثیر قرار داد، و هیچ هشدار قبلی به Railway داده نشد. نتیجهاش یک قطعی تمامعیار حدود ۸ ساعته بود که داشبورد، API، و زیرساخت شبکه Railway رو کاملاً از کار انداخت.
Railway علاوه بر GCP، روی شبکهای از سرورهای اختصاصی خودش (Railway Metal) و محاسبات ابری AWS هم کار میکنه. وقتی GCP معلق شد، workloadهای روی Metal و AWS در ابتدا زنده موندن. اما مشکل اصلی اینجا بود: edge proxyهای Railway برای پر کردن جدولهای مسیریابیشون به یک control plane API وابسته بودن که روی ماشینهای گوگل کلود اجرا میشد. این control plane یا «صفحه کنترل» همون بخشیه که تعیین میکنه ترافیک باید به کجا بره.
تا وقتی کش مسیرها (route cache) معتبر بود، همه چیز نسبتاً خوب بود. اما از ساعت ۲۲:۳۵ UTC به بعد، کشها منقضی شدن و edge دیگه نمیتونست مسیر workloadها رو پیدا کنه؛ در نتیجه همهچیز، حتی سرویسهایی که روی Metal و AWS سالم بودن، شروع به برگردوندن خطای ۴۰۴ کردن. در اوج قطعی، تمام workloadها در تمام مناطق از دسترس خارج شدن.
بازیابی هم یکدفعه اتفاق نیفتاد. دیسکهای ذخیرهسازی، ماشینهای مجازی، و شبکه هر کدام بهصورت جداگانه نیاز به بازیابی داشتن. دیسکها تا ساعت ۲۳:۵۴ UTC بازگشتن، اما شبکهکشی اصلی تا ۰۱:۳۰ UTC روز بعد کامل نشد. علاوه بر این، GitHub هم شروع به rate-limit کردن درخواستهای OAuth و webhook Railway کرد، چون حجم انبوه درخواستهای retryشده از طرف Railway ناگهان افزایش پیدا کرده بود؛ این موضوع موقتاً ورود کاربران و اجرای buildها رو مسدود کرد.
Railway در گزارشش صادقانه اعتراف میکنه که معماری فعلیشون یک نقطه شکست واحد (single point of failure) داشته. حالا چند اقدام اصلاحی در دست اجراست:
- تبدیل شبکه mesh به یک mesh واقعی: حذف وابستگی سخت control plane به GCP، به طوری که از دست رفتن هر یک از ابرها، مسیریابی کل شبکه رو خراب نکنه.
- گسترش shardهای دیتابیس با قابلیت HA روی AWS و Metal، تا در صورت ناپدید شدن ناگهانی یک ابر، quorum دیتابیس سرویس رو سرپا نگه داره.
- خارج کردن سرویسهای GCP از مسیر اصلی (hot path) داده، و نگهداشتنشون فقط به عنوان پشتیبان/failover.
نکات کلیدی:
- گوگل کلود به اشتباه و بدون هشدار، حساب تولید Railway رو تعلیق کرد.
- وابستگی edge proxyها به یک control plane میزبانیشده روی GCP، قطعی رو به سایر محیطها هم کشوند.
- بازیابی کامل حدود ۸ ساعت طول کشید و شامل دیسکها، شبکه، و کنترلپلن جداگانه بود.
- Railway قراره وابستگی به GCP در مسیر اصلی شبکه رو حذف کنه و به سمت معماری multi-cloud واقعی بره.




