nginx bahagian hadapan, bahagian belakang adalah n bekas docker, dan bekas docker ialah nginx+php-fpm Adalah diketahui bahawa setiap bekas mungkin gagal, bahagian depan akan mempunyai 502 atau 504 ralat, dan bahagian hadapan sekali-sekala akan mengalami kelewatan rangkaian
Amalan dan masalah semasa
Dengan mengandaikan selang masa ditetapkan kepada 3s dan jatuh ialah 2, maka jika hujung belakang ditutup serta-merta selepas semakan terakhir, iaitu permintaan masih akan dimajukan kepada hujung belakang yang rosak selama hampir 6s
Dengan mengandaikan tamat masa ditetapkan kepada 1s, maka jika rangkaian bahagian hadapan ditangguhkan, semua bahagian belakang akan tamat serta-merta dan 502 akan dikembalikan terus kepada pengguna. Tetapi jika anda meningkatkan nilai tamat masa, maka pemeriksaan kesihatan tidak akan masuk akal Biasanya, bahagian belakang akan bertindak balas dalam masa 50ms tidak lagi boleh menapis bahagian belakang yang bermuatan tinggi
Sama seperti di atas, jika ia mati dalam selang waktu, beberapa permintaan masih tiba di bahagian belakang Jika beban bahagian belakang sering turun naik pada ambang, maka ralat 5xx mungkin lebih banyak daripada tanpa pemeriksaan kesihatan dan sysguard
Ada penyelesaian?
Saya tidak tahu bagaimana senario aplikasi bahagian hadapan anda Nampaknya bebannya sangat tinggi nanti. Dalam kajian mendalam ini, kita masih perlu melihat seni bina teknikal Cari punca masalah
Secara peribadi, saya merasakan bahawa perkara ini tidak dapat dielakkan apabila bebannya berat, saya akan mengoptimumkan program atau meningkatkan kluster. Zhihu menyediakan pelayannya sendiri apabila tiada apa-apa yang berlaku