- Diterbitkan pada
Lembar Cepat Desain Sistem
- Penulis

- Nama
- AbnAsia.org
- @steven_n_t
Kami sering diminta untuk merancang sistem dengan ketersediaan tinggi, skalabilitas tinggi, dan throughput tinggi. Apa artinya sebenarnya?

Diagram di bawah ini adalah lembar contekan desain sistem dengan solusi umum.
- Ketersediaan Tinggi Hal ini berarti kita perlu memastikan tingkat waktu aktif yang tinggi sesuai dengan kesepakatan. Kita sering menggambarkan target desain sebagai "3 nines" atau "4 nines". "4 nines", 99,99% waktu aktif, berarti layanan hanya dapat turun selama 8,64 detik per hari.
Untuk mencapai ketersediaan tinggi, kita perlu merancang redundansi dalam sistem. Ada beberapa cara untuk melakukan ini:
Hot-hot: dua contoh menerima input yang sama dan mengirimkan output ke layanan downstream. Jika satu sisi turun, sisi lain dapat segera mengambil alih. Karena kedua sisi mengirimkan output ke downstream, sistem downstream perlu menghilangkan duplikat.
Hot-warm: dua contoh menerima input yang sama dan hanya sisi panas yang mengirimkan output ke layanan downstream. Jika sisi panas turun, sisi hangat mengambil alih dan mulai mengirimkan output ke layanan downstream.
Klaster pemimpin tunggal: satu contoh pemimpin menerima data dari sistem upstream dan mereplikasi ke contoh lain.
Klaster tanpa pemimpin: tidak ada pemimpin dalam jenis klaster ini. Setiap tulis akan direplikasi ke contoh lain. Selama jumlah contoh tulis ditambah dengan jumlah contoh baca lebih besar dari jumlah contoh total, kita harus mendapatkan data yang valid.
- Throughput Tinggi Hal ini berarti layanan perlu menangani jumlah permintaan yang tinggi dalam periode waktu tertentu. Metrik yang umum digunakan adalah QPS (query per detik) atau TPS (transaksi per detik).
Untuk mencapai throughput tinggi, kita sering menambahkan cache ke arsitektur sehingga permintaan dapat kembali tanpa mengenai perangkat I/O yang lebih lambat seperti database atau disk. Kita juga dapat meningkatkan jumlah thread untuk tugas yang intensif komputasi. Namun, menambahkan terlalu banyak thread dapat merusak kinerja. Kita kemudian perlu mengidentifikasi bottleneck dalam sistem dan meningkatkan throughputnya. Menggunakan pemrosesan asinkron dapat sering mengisolasi komponen yang berat.
- Skalabilitas Tinggi Hal ini berarti sistem dapat dengan cepat dan mudah diperluas untuk menampung volume yang lebih besar (skalabilitas horizontal) atau fungsionalitas yang lebih banyak (skalabilitas vertikal). Biasanya kita memantau waktu respons untuk memutuskan apakah kita perlu menskalakan sistem.
Harap dicatat bahwa versi bahasa Indonesia didukung oleh AI dan karena itu mungkin terjadi kesalahan kecil.
Penulis
Ai Base Network (ABN), ABN ASIA didirikan oleh orang-orang dengan akar yang kuat di dunia akademis, dengan pengalaman kerja di Amerika Serikat, Belanda, Hungaria, Jepang, Korea Selatan, Singapura, dan Vietnam. ABN Asia adalah tempat di mana akademik dan teknologi bertemu dengan peluang. Dengan solusi terdepan kami dan layanan pengembangan perangkat lunak yang kompeten, kami membantu bisnis untuk meningkatkan level dan bersaing di panggung global. Komitmen kami: Lebih Cepat. Lebih Baik. Lebih handal. Dalam kebanyakan kasus: Lebih murah juga.
Jangan ragu untuk menghubungi kami jika Anda membutuhkan layanan IT, konsultasi digital, solusi perangkat lunak siap pakai, atau jika Anda ingin mengirimkan permintaan proposal (RFP). Anda dapat menghubungi kami di [email protected]. Kami siap membantu Anda dengan semua kebutuhan teknologi Anda.

© ABN ASIA