Setiap kali sistem Anda berkembang, lalu lintas meningkat, semakin banyak pengguna menggunakan produk Anda, server mulai merespons lebih lambat, waktu henti memaksa bisnis Anda menderita, lalu Anda mulai berpikir tentang peningkatan skala.
Ada dua strategi utama untuk penskalaan - vertikal dan horizontal.
Skala vertikal dimaksudkan untuk meningkatkan daya sistem dengan menambahkan lebih banyak CPU dan RAM ke server Anda.
Sebaliknya, penskalaan horizontal berfokus pada penduplikasian (atau kloningan) server Anda dalam kumpulan sumber daya.
Lebih lanjut tentang ini:
Skala vertikal
Penskalaan vertikal adalah opsi terbaik untuk sistem dengan lalu lintas rendah karena merupakan pendekatan yang paling mudah diakses untuk menangani pertumbuhan tanpa menimbulkan kerumitan tambahan. Anda tidak perlu mempedulikan strategi penerapan untuk sekelompok sumber daya, elastisitas kumpulan sumber daya, status server Anda, cache terdistribusi, dan sebagainya.
Namun, penskalaan vertikal memiliki kelemahan yang serius
- Batasan perangkat keras karena tidak mungkin menambahkan sumber daya tanpa batas
- Kurangnya failover dan redundansi meningkatkan risiko terjadinya downtime dan kehilangan data dalam jangka panjang
Skala horizontal
Penskalaan horizontal menghilangkan masalah ini dengan mengkloning server aplikasi Anda dan menanamkan komponen seperti Load balancer .
Penyeimbang beban mendistribusikan lalu lintas pada server Anda menggunakan algoritma tertentu seperti:
Pertandingan penuh Round robin berbobot - Pendekatan berbasis hash IP
- Metode koneksi paling sedikit
- Metode koneksi paling sedikit tertimbang
- Metode respons paling sedikit, dan banyak lainnya.
Namun, ada beberapa kelemahannya:
- Server harus tanpa status
- Sesi harus disimpan dalam penyimpanan data terpusat
- Lebih rumit
strategi penyebaran mungkin diperlukan - Penyeimbang beban dapat menjadi hambatan kinerja jika salah dikonfigurasi dan sumber daya tidak cukup
- Hal ini menimbulkan kompleksitas tambahan pada sistem dan berpotensi menjadi satu titik kegagalan, yang memerlukan penerapan strategi failover.
Penyeimbang beban L4 / L7
Agar dua perangkat di internet dapat berkomunikasi satu sama lain, sistem yang mendasarinya harus mengikuti protokol tertentu. Semua orang pernah mendengar tentang model OSI, yang menggambarkan tujuh lapisan yang digunakan sistem komputer untuk berkomunikasi melalui jaringan. Meskipun internet modern didasarkan pada model tumpukan protokol TCP/IP yang lebih sederhana, model OSI digunakan secara luas, karena membantu memvisualisasikan dan mengomunikasikan cara kerja jaringan dan membantu mengisolasi dan memecahkan masalah jaringan.
Sebagian besar solusi penyeimbangan beban industri menggunakan istilah L4 dan L7 di mana L4 merujuk pada lapisan transport dalam model OSI dan L7 merujuk pada lapisan aplikasi.
Penyeimbang beban L4 masih L2/L3 karena menggunakan data dari lapisan bawah seperti alamat IP dan nomor port.
Keuntungan utama penyeimbang beban L4
Lebih aman dan berkinerja karena konten data tidak diperhitungkan dalam membuat keputusan perutean
Koneksi TCP yang sama berlaku antara klien dan server, yang membantu mencegah terlampauinya batas koneksi TCP yang tersedia pada penyeimbang beban
Kerugian utama dari penyeimbang beban L4
- Perutean cerdas tidak mungkin dilakukan karena konten tidak didekripsi
- Protokol stateful membawa kompleksitas tambahan
- Pemetaan antara alamat publik dan pribadi
- Tidak ada caching karena konten tidak tersedia pada level ini
- Tidak mungkin digunakan untuk arsitektur layanan mikro karena pengalihan lalu lintas tidak tersedia berdasarkan jalur url
Di sisi lain, penyeimbang beban L7 beroperasi pada tingkat aplikasi dalam model OSI
Keuntungan utama penyeimbang beban L7
Keputusan cerdas dapat dibuat berdasarkan jalur URL, header, konten
Penembolokan
Kerugian utama penyeimbang beban L7
- Overhead tambahan karena pemeliharaan dua koneksi TCP, satu antara klien dan penyeimbang beban, yang kedua antara penyeimbang beban dan server. Selain itu, batas koneksi TCP penyeimbang beban perlu dipertimbangkan.
- Kurang aman karena penyeimbang beban harus mengetahui sertifikat untuk dapat mendekripsi data dan membuat keputusan perutean
Kesimpulan
Penyeimbang beban merupakan komponen penting saat penskalaan horizontal diterapkan untuk menangani sistem dengan lalu lintas tinggi. Ada dua jenis utama penyeimbang beban L4 dan L7.
Penyeimbang beban L4 jauh lebih aman dan berkinerja karena keterbatasan dalam membuat keputusan cerdas
Penyeimbang beban L7 beroperasi dengan cara memberikan keputusan perutean yang cerdas karena biaya efisiensi dan keamanan
Memilih jenis yang tepat bergantung pada persyaratan sistem dan harus dipertimbangkan secara cermat dengan keseimbangan yang wajar antara penerapan prinsip keamanan dan menghilangkan hambatan kinerja.
Juga diterbitkan di sini.