Postingan kemarin tentang layanan terputus GitHub baru-baru ini menyebutkan detail yang terlewatkan: kebijakan autoskala yang salah dikonfigurasi pada layanan dengan Istio sidecar yang jenuh. Kebijakan ini memantau beban layanan host tetapi tidak batasan sidecar, menyebabkan kegagalan untuk menskalakan secara otomatis dengan benar.
Autoskala menyesuaikan sumber daya berdasarkan beban saat ini. Meskipun penggunaan CPU adalah metrik umum, layanan dapat menjadi jenuh bahkan dengan penggunaan CPU rendah. Sebagai contoh, model thread-per-request dapat mengalami kejenuhan ketika latensi downstream menyebabkan semua thread terblokir pada I/O, seperti yang terjadi dengan Slack pada 2021.
Laporan GitHub menunjukkan bahwa kebijakan autoskala hanya mempertimbangkan beban tingkat layanan, mengabaikan sidecar Istio. Ini menyoroti kesalahan penggantian komponen yang diidentifikasi oleh David Woods - hanya fokus pada memperbaiki komponen individu daripada memahami interaksi sistem. Gangguan ini melibatkan beberapa faktor yang saling berinteraksi: pola lalu lintas yang berubah, kebijakan autoskala, kejenuhan sidecar Istio, logika coba ulang, kejenuhan node HAProxy, dan lalu lintas otentikasi.
Entitas kunci: Perusahaan: GitHub, Slack | Orang: David Woods
Sumber: Hacker News · Diringkas oleh HeadlinesBriefing