Konkurensi dan Tekanan Balik
Batasi pekerjaan paralel agar server tetap sehat.
Konkurensi dan Tekanan Balik adalah pelajaran MCP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar MCP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus MCP Academy mencakup 4 pelajaran total.
Asinkron Tidak Tak Terbatas
Asinkron memungkinkan Anda menjalankan banyak panggilan sekaligus, tetapi setiap tugas yang sedang berlangsung tetap menggunakan memori dan koneksi. Konkurensi tanpa batas dapat menenggelamkan server. 💥
Arti Tekanan Balik
Tekanan balik adalah cara server yang sibuk menahan pekerjaan yang masuk, dengan memperlambat atau mengantrekannya alih-alih mencoba mengerjakan semuanya sekaligus.
Batasi Pekerjaan Paralel
Semaphore menetapkan batas atas jumlah tugas yang berjalan secara paralel, sehingga server hanya menerima sebanyak yang dapat ditanganinya dengan aman.
sem = asyncio.Semaphore(10)
async with sem:
await do_work()Batasi Kumpulan Koneksi Anda
Berikan ukuran maksimum pada kumpulan koneksi basis data dan HTTP. Setelah batas tercapai, panggilan baru menunggu koneksi yang kosong alih-alih membuka koneksi tanpa henti.
Antrekan, Jangan Buang
Saat kapasitas penuh, biarkan panggilan tambahan mengantre sebentar. Waktu tunggu yang singkat dan terbatas lebih baik daripada mengalami kerusakan saat terjadi lonjakan permintaan mendadak.
Batasi Antrean Juga
Antrean tanpa batas hanya menyembunyikan kelebihan beban sampai memori habis. Batasi panjang antrean dan tolak pekerjaan setelah antrean penuh.
Tolak dengan Cepat Saat Penuh
Jika server mengalami saturasi, kembalikan error sibuk yang jelas dengan cepat agar klien dapat mencoba lagi, alih-alih membiarkan panggilan menggantung selamanya.
Tambahkan Timeout di Mana Saja
Pasangkan batas dengan timeout agar satu upstream yang macet tidak dapat menahan satu slot tanpa batas dan perlahan membuat setiap permintaan lain kehabisan sumber daya.
async with asyncio.timeout(5):
await call_upstream()Pantau Jumlah yang Sedang Berlangsung
Lacak jumlah tugas yang sedang aktif. Jumlah panggilan yang sedang berlangsung dan terus meningkat merupakan peringatan paling awal bahwa beban melampaui kapasitas.
Sesuaikan Batas dengan Kenyataan
Pilih batas berdasarkan perilaku yang diukur, bukan perkiraan. Lakukan uji beban, pantau latensi, lalu naikkan atau turunkan batas hingga server tetap stabil.
Tetap Sehat di Bawah Beban
Jika diterapkan dengan baik, tekanan balik menjaga server tetap stabil: server melayani apa yang mampu ditanganinya, menunda sisanya, dan tidak pernah sampai mengalami kerusakan.
Pemeriksaan Singkat
Dari apa tekanan balik melindungi server?
Rangkuman: Batasi Beban
Anda membatasi pekerjaan paralel dengan semaphore, membatasi kumpulan koneksi dan antrean, menambahkan timeout, serta menolak dengan cepat saat penuh, sehingga server tetap sehat. ✅
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Konkurensi dan Tekanan Balik” gratis?
Ya — teks lengkap “Konkurensi dan Tekanan Balik” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus MCP Academy, upgrade ke CoddyKit PRO. Kursus MCP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Konkurensi dan Tekanan Balik”?
Batasi pekerjaan paralel agar server tetap sehat. Kamu berlatih MCP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai MCP Academy?
Tidak diperlukan pengalaman sebelumnya. MCP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Konkurensi dan Tekanan Balik” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran MCP Academy ini?
Ya. Setiap pelajaran MCP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Alat Asinkron yang Tidak Menghalangi
- Konkurensi dan Tekanan Balik
- Meringkas Hasil yang Menghabiskan Banyak Token
- Menskalakan secara Horizontal dengan Sesi