Apa perbedaan antara Load Balancer dan Reverse Proxy?

Jawaban:

114

Kebingungan Anda masuk akal - mereka seringkali merupakan hal yang sama. Tapi tidak selalu. Saat Anda merujuk ke penyeimbang beban, Anda merujuk ke hal yang sangat spesifik - server atau perangkat yang menyeimbangkan permintaan masuk di dua atau lebih server web untuk menyebarkan beban. Proxy terbalik, bagaimanapun, biasanya memiliki sejumlah fitur:

  1. load balancing: seperti dibahas di atas

  2. caching: ia dapat men-cache konten dari server web di belakangnya dan dengan demikian mengurangi beban pada server web dan mengembalikan beberapa konten statis kembali ke pemohon tanpa harus mendapatkan data dari server web

  3. keamanan: ia dapat melindungi server web dengan mencegah akses langsung dari internet; mungkin melakukan ini melalui cara sederhana dengan hanya mengaburkan server web (s) atau mungkin memiliki beberapa komponen yang lebih aktif yang benar-benar meninjau permintaan masuk mencari kode berbahaya

  4. Akselerasi SSL: ketika SSL digunakan; ini dapat berfungsi sebagai titik terminasi untuk sesi SSL tersebut sehingga beban kerja berurusan dengan enkripsi diturunkan dari server web

Saya pikir ini mencakup sebagian besar tetapi mungkin ada beberapa fitur lain yang saya lewatkan. Tentu saja tidak jarang melihat perangkat atau perangkat lunak dipasarkan sebagai penyeimbang beban / proxy terbalik karena fitur-fitur tersebut begitu umum digabungkan bersama.

icky3000
sumber
2
+ koneksi pooling (memungkinkan beberapa permintaan pada satu koneksi frontend ketika backend tidak menanganinya dengan baik; atau menggunakan kembali koneksi backend untuk beberapa koneksi frontend)
kubanczyk
+ kompresi Mengkompresi respons server sebelum mengembalikannya ke klien (misalnya, dengan gzip) mengurangi jumlah bandwidth yang mereka butuhkan, yang mempercepat transit mereka melalui jaringan
dimuthu
25

Juga, proxy terbalik khusus untuk server web.

Namun load balancers dapat menangani banyak protokol lain. Sementara web (HTTP) adalah ide besar saat ini, hal-hal seperti DNS, mail (SMTP, IMAP), dll. Dapat memuat secara seimbang juga. Hanya saja saat ini kebanyakan orang berpikir "Internet" atau "jaringan IP" yang mereka pikirkan tentang web. Ada banyak hal di luar sana yang mungkin lebih tidak jelas, atau lebih dari niche.


sumber
12

Sementara hasil bersih (mendistribusikan permintaan antara server) adalah sama antara berbagai penyeimbang beban dan membalikkan proxy, perbedaannya adalah dalam metode yang digunakan untuk mendistribusikan permintaan.

Beberapa load balancers menyeimbangkan lalu lintas menggunakan DNS, menyelesaikan nama yang sama untuk IP yang berbeda di round robin secara efektif mengarahkan permintaan. Ini sering berguna ketika memuat permintaan penyeimbangan antara pusat data atau lokasi fisik lainnya. Ini adalah pilihan yang buruk jika Anda perlu "instan" gagal, karena Anda berada di tangan server DNS klien Anda untuk menghormati TTL yang Anda berikan. GSS Cisco (Global Site Selector) adalah contoh yang baik dari load balancing berbasis DNS.

Penyeimbang beban lainnya bekerja dengan menulis ulang header paket yang ditujukan untuk IP virtual ke IP nyata dari server di sebuah pertanian. Ini memberikan penyeimbangan muatan waktu nyata dan kegagalan hampir instan berakhir. Contohnya adalah CSM Cisco (Content Switching Module)

Perhatikan bahwa dalam kedua contoh di atas, ada percakapan TCP antara klien dan server.

Proksi terbalik berfungsi dengan menerima permintaan atas nama server web, kemudian menggemakan permintaan itu ke server web dan mengembalikannya ke klien, secara opsional menyimpan hasilnya jika permintaan serupa diikuti.

Perhatikan bahwa klien tidak pernah benar-benar membuat koneksi ke server web; lebih tepatnya pembicaraan antara proxy dan klien.

Brian Tillman
sumber
4

Penyeimbang beban dapat menyeimbangkan lalu lintas dari lapisan 3 ke atas ke lapisan 7, tetapi proxy sebaliknya khusus HTTP.

Kris Roofe
sumber
3

Sebuah reverse proxy menerima permintaan dari klien, meneruskannya ke server yang dapat memenuhi hal itu , dan mengembalikan respon server ke klien (yang berarti server di belakang Reverse Proxy dapat berkomunikasi dengan fitur yang agak berbeda dari protokol atau protokol yang berbeda ).

Sebuah penyeimbang beban mendistribusikan permintaan klien masuk di antara sekelompok server, dalam setiap kasus kembali respon dari server yang dipilih ke klien yang sesuai.

Manu Prasadh
sumber
1
Jadi maksud Anda penyeimbang beban adalah penting 'proxy terbalik' dengan distribusi?
Anthony Kong
4
Ini adalah duplikasi langsung dari nginx.com/resources/glossary/reverse-proxy-vs-load-balancer baik mereka mencuri jawaban Anda atau Anda harus referensi sumber Anda
icc97