Mengapa Microservices Berbasis HTTP Adalah Ide Yang Kurang Baik - CRUDPRO

Mengapa Microservices Berbasis HTTP Adalah Ide Yang Kurang Baik

Mari kita bicara tentang hal itu.

Elemen fundamental utama Microservices adalah pemisahan konteks yang dibatasi ke dalam setiap layanan.

Mari kita lihat urutan baru ABC dan lihat cara kerja backend HTTP.

Anda harus melakukan pemesanan terlebih dahulu dan kemudian mengirim permintaan untuk mendapatkan tahap pemesanan. Jika kami menerima balasan, kami akan melanjutkan ke tahap proses dan akhirnya mengirimkan pesanan.

masalah

Permintaan HTTP bekerja dalam metode urutan, jadi jika satu tahap tidak merespons, itu akan ditunda hingga seluruh permintaan diproses. Ketika 100 permintaan diterima dan tahap proses offline, seluruh sistem macet atau macet. Ini dikenal sebagai kegagalan cascading. Inilah sebabnya mengapa Microservices berbasis HTTP adalah ide yang buruk.

Mari kita lihat contoh lain.

Saat menggunakan HTTP sebagai backend, respons pertama membutuhkan waktu 10 md, yang kedua membutuhkan 100 md, yang ketiga membutuhkan waktu 30 md, tetapi yang kedua membutuhkan waktu 100 md. Diperlukan waktu yang sangat lama sehingga respons ketiga harus tetap ada hingga respons kedua selesai. Ini adalah masalah saat menggunakan HTTP sebagai backend untuk Microservices.

Mari kita lihat solusi untuk itu

Resolusi

Anda dapat menggunakan framework pesan lain seperti Kafka

Pada contoh pertama, ketika permintaan pesanan masuk, kami mendorongnya ke kafka, dan semua bagian lainnya (pengambilan pesanan, pemrosesan, pengiriman) mendengarkan kafka. Ketika Kafka mengirim permintaan, itu memulai proses dan mengembalikan respons, tetapi fase offline baik-baik saja karena Kafka sudah mendapatkan respons lain tanpa menunggu fase offline.

Begitu tahap proses online, dia menerima pesan dari Kafka dan memprosesnya sehingga semua tanggapan selesai dan pesanan dapat diproses.

Sebagai contoh, cara HTTP adalah 10 md untuk yang pertama, 100 md untuk yang kedua, 30 md untuk yang ketiga, tetapi menggunakan kerangka pesan, cara kerjanya seperti ini: 10 md pertama, 30 md kedua, 100 md ketiga ...

semoga artikel ini menjadi solusi untuk anda yang sedang Mengerjakan Microservices , See You :)