Salah satu argumen umum untuk menggunakan layanan microser adalah skalabilitas yang lebih baik. Tetapi saya bertanya-tanya apakah argumen ini benar-benar valid.
Katakanlah kami memiliki aplikasi yang terdiri dari 10 microservice dengan 9 di antaranya memiliki masing-masing dua instance (untuk redundansi) dan satu di antaranya dengan 4 instance untuk menangani beban (skalabilitas). Argumen pro-microservice adalah bahwa Anda dapat mengukur miroservice ini secara independen dari layanan lain.
Namun, katakanlah semua 10 layanan mikro adalah modul dalam satu monolith dan beberapa (mis. 22 seperti jumlah dari atas) contoh monolith ini digunakan. Sistem harus dapat menangani beban untuk satu bagian kritis, karena ada cukup banyak contoh untuk melakukannya. Jika instance mengandung logika program tidak diperlukan, satu-satunya downside adalah, bahwa biner dan jumlah RAM yang dibutuhkan akan sedikit lebih besar. Tetapi sekali lagi, perbedaannya tidak boleh terlalu besar dalam banyak kasus - setidaknya tidak dibandingkan dengan sisa tumpukan (pikirkan Spring Boot). Kelebihan dari skala monlith akan menjadi sistem yang lebih sederhana tanpa (sebagian besar) kekeliruan dari sistem terdistribusi.
Apakah saya melewatkan sesuatu?