Apl Diterbitkan Anda Kini Kekal Aktif Semasa Anda Menerbitkannya Semula
Apabila anda menerbitkan semula apl di Mythex, laman hidup anda kini terus menghidangkan versi sebelumnya sehingga binaan baharu sedia, kemudian beralih. Sebelum perubahan ini, penerbitan semula menjadikan laman luar talian sepanjang binaan — pelawat melihat “Apl yang diterbitkan ini luar talian atau pautan tidak dijumpai” selama seminit atau lebih, dan kemudian halaman yang sama berfungsi semula apabila dimuat semula. Kami juga membetulkan dua lagi cara apl hidup boleh kelihatan luar talian secara salah.
1. Menerbitkan semula tidak lagi menjatuhkan laman anda
Di sebalik tabir, setiap apl yang diterbitkan mempunyai rekod yang menyatakan binaan mana yang perlu dihidangkan. Penerbitan semula menggunakan semula rekod itu dan menandakannya sebagai “sedang membina” sepanjang tempoh binaan — dan bahagian tepi perkhidmatan kami yang menghala pelawat hanya menghidangkan rekod yang ditandakan “hidup”. Jadi setiap penerbitan semula menjadikan laman itu hilang sehingga binaan selesai. Kami menghasilkan semula ini pada apl ujian kecil: kira-kira 50 saat luar talian bagi setiap penerbitan semula.
Kini, apabila penerbitan semula bermula pada apl yang sudah hidup, rekod itu mengingati bahawa binaan sebelumnya wujud dan terus menunjuk kepadanya. Tepi perkhidmatan menghidangkan binaan sebelumnya semasa yang baharu sedang dibina, dan penunjuk hanya berpindah ke binaan baharu apabila ia berjaya. Jika binaan baharu gagal, pelawat anda tidak perasan apa-apa — versi lama kekal aktif.
Penerbitan pertama, atau menerbitkan semula apl yang telah dijeda atau dibatalkan penerbitannya, masih hanya hidup apabila binaan selesai — kerana tiada versi sebelumnya untuk ditunjukkan.
2. Gangguan sebentar tidak lagi kelihatan seperti “tidak dijumpai”
Perkhidmatan di hadapan apl hidup anda bertanya kepada API kami di mana setiap laman berada. Dahulu ia menganggap mana-mana jawapan yang tidak berjaya — ralat pelayan sebentar, sambungan yang terputus — sebagai “laman ini tidak wujud”, dan memaparkan halaman luar talian. Muat semula sesaat kemudian berfungsi, yang menjadikannya membingungkan.
Kini hanya jawapan “tidak dijumpai” yang sebenar dikira sebagai tidak dijumpai:
- Mana-mana kegagalan lain dicuba sekali lagi.
- Jika masih gagal, tepi perkhidmatan menghidangkan laman daripada jawapan terakhir yang diketahui baik sehingga satu jam.
- Hanya jika ia tidak pernah mendapat jawapan sama sekali barulah ia memaparkan halaman “tidak tersedia buat sementara waktu” — tidak sekali-kali “tidak dijumpai”.
Domain tersuai juga bertanya kepada sistem pengeluaran dan staging kami secara serentak, jadi pelayan staging yang perlahan tidak sekali-kali boleh menahan domain pengeluaran.
3. Apl yang dijeda memberitahu bahawa ia dijeda
Apl yang diterbitkan berjalan menggunakan baki kredit anda. Jika ia habis, apl dijeda sehingga anda menambah kredit — dan ia kembali dengan sendirinya apabila anda berbuat demikian. Tetapi apl yang dijeda dahulu kelihatan sama seperti apl yang dipadam.
Kini pelawat ke apl yang dijeda melihat “Apl ini dijeda”, dengan cara untuk pemilik kembali, dan respons itu tidak sekali-kali disimpan dalam cache, jadi apl boleh dicapai semula sejurus ia disambung semula. Jika apl tidak tersedia atas sebab lain, pelawat melihat “Apl ini tidak tersedia” — tanpa diberitahu sebabnya.
Mengapa ini penting
Apl yang diterbitkan ialah sesuatu yang anda kongsikan: dalam pautan bio, pada kad perniagaan, dengan pelanggan pertama anda. Ia sepatutnya berkelakuan seperti laman web sebenar — kekal aktif semasa anda memperbaikinya, bertahan daripada gangguan sebentar, dan jujur apabila ia dijeda.
Lebih lanjut tentang penerbitan dalam dokumentasi: cara menerbitkan dan had hosting. Dan bahagian infrastruktur bagi idea yang sama: cara kami menjadikan deployment kami sendiri kepada sifar 502.