paint-brush
Menguraikan Primitif Penyeimbangan Bebanoleh@fairday
39,946 bacaan
39,946 bacaan

Menguraikan Primitif Penyeimbangan Beban

oleh Aleksei4m2024/02/26
Read on Terminal Reader
Read this story w/o Javascript

Terlalu panjang; Untuk membaca

Saat menskalakan sistem Anda untuk mengakomodasi peningkatan lalu lintas dan pengguna, Anda dapat memilih antara penskalaan vertikal, yang meningkatkan daya server, dan penskalaan horizontal, yang melibatkan duplikasi server. Meskipun penskalaan vertikal lebih sederhana, penskalaan ini memiliki keterbatasan seperti kendala perangkat keras. Penskalaan horizontal dengan penyeimbang beban menawarkan fleksibilitas tetapi memerlukan pengelolaan statelessness dan strategi penerapan. Memahami penyeimbang beban L4 dan L7 sangat penting, dengan L4 yang lebih aman dan berkinerja, sementara L7 menawarkan perutean cerdas dengan mengorbankan efisiensi. Memilih pendekatan yang tepat bergantung pada persyaratan sistem dan menyeimbangkan pertimbangan keamanan dan kinerja.

People Mentioned

Mention Thumbnail
featured image - Menguraikan Primitif Penyeimbangan Beban
Aleksei HackerNoon profile picture
0-item


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

  1. Batasan perangkat keras karena tidak mungkin menambahkan sumber daya tanpa batas
  2. 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:


  1. Pertandingan penuh
  2. Round robin berbobot
  3. Pendekatan berbasis hash IP
  4. Metode koneksi paling sedikit
  5. Metode koneksi paling sedikit tertimbang
  6. Metode respons paling sedikit, dan banyak lainnya.


Namun, ada beberapa kelemahannya:


  1. Server harus tanpa status
  2. Sesi harus disimpan dalam penyimpanan data terpusat
  3. Lebih rumit strategi penyebaran mungkin diperlukan
  4. Penyeimbang beban dapat menjadi hambatan kinerja jika salah dikonfigurasi dan sumber daya tidak cukup
  5. 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.


  1. Penyeimbang beban L4 jauh lebih aman dan berkinerja karena keterbatasan dalam membuat keputusan cerdas

  2. 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.