Arsitektur Layanan Mikro - Penskalaan
Penskalaan adalah proses memecah perangkat lunak dalam unit yang berbeda. Penskalaan juga menentukan skalabilitas. Skalabilitas adalah potensi untuk mengimplementasikan fitur aplikasi yang lebih canggih. Ini membantu meningkatkan keamanan, daya tahan, dan pemeliharaan aplikasi. Kami memiliki tiga jenis prosedur penskalaan yang diikuti di industri. Berikut adalah metodologi penskalaan yang berbeda beserta contoh kehidupan nyata yang sesuai.
Skala X-Axis
Penskalaan sumbu X juga disebut sebagai penskalaan horizontal. Dalam prosedur ini, seluruh aplikasi dibagi lagi menjadi beberapa bagian horizontal. Biasanya, aplikasi server web apa pun dapat memiliki penskalaan jenis ini. Pertimbangkan arsitektur MVC normal yang mengikuti penskalaan horizontal seperti yang ditunjukkan pada gambar berikut.
Sebagai contoh, kita dapat mempertimbangkan aplikasi servlet JSP apa pun. Dalam aplikasi ini, pengontrol mengontrol setiap permintaan dan ini akan menghasilkan tampilan dengan berkomunikasi dengan model kapan pun diperlukan. Biasanya, aplikasi monolitik mengikuti metode penskalaan ini. Penskalaan X-Axis pada dasarnya sangat mendasar dan memakan waktu lebih sedikit. Dalam metodologi ini, satu perangkat lunak akan diskalakan tergantung pada tugas berbeda yang menjadi tanggung jawab unit. Misalnya, pengontrol bertanggung jawab untuk mengontrol permintaan masuk dan keluar, tampilan bertanggung jawab untuk merepresentasikan fungsionalitas bisnis kepada pengguna di browser, sedangkan model bertanggung jawab untuk menyimpan data kami dan berfungsi sebagai database.
Penskalaan Sumbu-Y
Penskalaan sumbu Y juga disebut sebagai penskalaan vertikal yang mencakup penskalaan tingkat sumber daya apa pun. Setiap sistem DBaaS atau Hadoop dapat dianggap berskala sumbu Y. Dalam jenis penskalaan ini, permintaan pengguna dialihkan dan dibatasi dengan menerapkan beberapa logika.
Mari kita pertimbangkan Facebook sebagai contoh. Facebook perlu menangani 1,79 juta pengguna setiap detik; karenanya, mengontrol lalu lintas adalah tanggung jawab besar para insinyur jaringan Facebook. Untuk mengatasi bahaya apa pun, mereka mengikuti penskalaan sumbu Y yang mencakup menjalankan beberapa server dengan aplikasi yang sama pada waktu yang sama. Sekarang untuk mengontrol tingkat lalu lintas yang sangat besar ini, Facebook mengalihkan semua lalu lintas dari satu wilayah ke server tertentu, seperti yang digambarkan dalam gambar. Perpindahan lalu lintas berdasarkan wilayah ini disebut load balancing dalam bahasa arsitektur.
Metode penguraian sumber daya menjadi unit bisnis mandiri kecil ini dikenal sebagai penskalaan Y-Axis.
Skala Z-Axis
Penskalaan sumbu X dan Y jauh lebih mudah dipahami. Namun, satu aplikasi juga dapat diskalakan di tingkat bisnis, yang disebut penskalaan sumbu Z. Berikut adalah contoh penskalaan aplikasi layanan taksi di berbagai unit bisnis.
Keuntungan Scaling
Cost - Penskalaan perangkat lunak yang tepat akan mengurangi biaya pemeliharaan.
Performance - Karena kopling longgar, kinerja perangkat lunak yang diskalakan dengan benar selalu lebih baik daripada perangkat lunak yang tidak diskalakan.
Load distribution - Menggunakan teknologi yang berbeda, kami dapat dengan mudah mempertahankan beban server kami.
Reuse - Skalabilitas perangkat lunak juga meningkatkan kegunaan perangkat lunak.