Một cân bằng tải trở lại là gì?


12

Khi người dùng nhấn vào bộ cân bằng tải và bộ cân bằng tải sẽ xác định máy chủ web nào sẽ chuyển tiếp, điều gì xảy ra tiếp theo? Bộ cân bằng tải có chuyển tiếp yêu cầu và tất cả dữ liệu của nó tới máy chủ web, nhận phản hồi của máy chủ web và trả lại cho người dùng không?

Hoặc nó giống như một chuyển hướng trong đó bộ cân bằng tải theo nghĩa đen chỉ trả lại địa chỉ IP của máy chủ được chọn trở lại trình duyệt và trình duyệt phải mở một kết nối mới với máy chủ đã cho?

Bản năng của tôi nói rằng nó sẽ không phải là thứ hai bởi vì điều đó sẽ ám chỉ tất cả các địa chỉ IP của máy chủ web sẽ được công khai và tôi nghĩ vì lý do bảo mật, tốt nhất là chỉ hiển thị các địa chỉ cân bằng tải cho công chúng. Nhưng một lần nữa tôi không chắc chắn lắm vì nếu bạn kích hoạt SSL terminationở bộ cân bằng tải, SSL có cần phải được thiết lập lại với máy chủ được chuyển hướng không?


Câu trả lời:


13

IP cuối không được công bố. Quá trình thực sự hoạt động theo cách mà khách hàng (một người dùng nhấn vào bộ cân bằng) tin rằng họ đang giao tiếp với bộ cân bằng, trong khi nói chuyện với một nút thực tế.

Trong một giải thích rất đơn giản , hầu hết các giao dịch hoạt động như thế này:

  1. Một người dùng đưa ra yêu cầu cho bộ cân bằng tải.
  2. Bộ cân bằng quyết định nút nào là phù hợp nhất (dựa trên chiến lược bạn đang sử dụng để cân bằng) và chọn (thay đổi) IP đích.
  3. (Đây là nơi phép màu xảy ra.) Nút nhận được yêu cầu, chấp nhận kết nối và trả lời lại bộ cân bằng.
  4. Bộ cân bằng thay đổi IP phản hồi trở lại thành một bộ ảo, một trong số các bộ cân bằng và chuyển tiếp phản hồi cho người dùng.
  5. Voilà, người dùng nhận được phản hồi với IP của yêu cầu ban đầu, mặc dù nó thực sự được xử lý ở một nơi khác.

Hãy ghi nhớ việc viết lại gói (việc thay đổi địa chỉ IP ở bước 4) là rất quan trọng. Nếu không có máy khách, việc nhận gói tin từ IP mà nó không tin tưởng, chỉ đơn giản là loại bỏ phản hồi.


4

Lad balancer hoạt động trên lớp 4 OSI. Nó giải mã gói cho đến khi số cổng và sau đó chỉ đạo gói với một trong 3 chế độ.

Cân bằng tải có thể hoạt động ở 3 chế độ: 1. Định tuyến trực tiếp Trong chế độ này, máy chủ thực của bạn đang sử dụng IP công khai. Bộ cân bằng nhận gói và giải mã cho đến lớp 4. Nếu trong quy tắc cân bằng tải phù hợp, nó sẽ là gói chuyển hướng (không sửa đổi) đến một trong các máy chủ thực. Realserver có một địa chỉ bí danh giống với địa chỉ loadbalance, vì vậy khi realserver nhận gói tin có đích xxx.xxx.xxx.xxx, nó xác định gói đó đúng với địa chỉ của anh ấy (bí danh). Và sau đó máy chủ trả lời yêu cầu trả lời trực tiếp cho khách hàng (không thông qua tải trọng).

2. NAT Trong chế độ này, gói chuyển hướng đến máy chủ thực với sửa đổi địa chỉ đích. Địa chỉ đích sẽ được thay thế bằng địa chỉ máy chủ thực (NAT). Trong chế độ này, máy chủ thực của bạn không cần IP công khai, nó có thể sử dụng mạng cục bộ của bạn. Và sau đó gói sẽ được gửi không có địa chỉ đích mới. Khi realserver nhận gói, nó sẽ trả lời cổng máng địa chỉ yêu cầu của khách hàng (loadbalance). Trong chế độ này, cân bằng tải của bạn sử dụng làm bộ định tuyến & làm cổng của máy chủ thực của bạn.

3. Đường hầm Trong chế độ này, gói sẽ được điều chỉnh bằng địa chỉ src-dst mới (như vpn) để gửi gói đến máy chủ thực. khi gói tin nhận được trong máy chủ thực, máy chủ thực sẽ được trả lời qua đường ống có đường hầm để cân bằng tải. Và sau đó loadbalance phân phối trả lời địa chỉ nguồn yêu cầu thực tế.

Đối với HTTPS / SSL, cân bằng tải không xử lý nó, quá trình cân bằng tải cho đến khi lớp 4 OSI. Lớp 5 ở trên sẽ được xử lý trong máy chủ thực. Vì vậy, TCP 3 cách hanshake, SSL / HTTPS được cung cấp trong máy chủ thực. Cân bằng tải chỉ giám đốc của gói.

Tôi hy vọng lời giải thích nhỏ của tôi sẽ giúp được gì đó.


Có vẻ như bạn đang nói về lvs ở đây, nhưng nó không nhất thiết là cách hoạt động của cân bằng tải http (s). Hãy xem haproxy chẳng hạn. Ứng dụng này không tải cân bằng trong vùng người dùng và cũng có chức năng định tuyến phụ trợ đẹp.
Friek

Trong trung tâm dữ liệu của tôi, tôi sử dụng lvs để cân bằng dịch vụ ứng dụng https của mình và nó hoạt động và chạy tốt.
dek.tiram 18/03/2016

Xin lỗi vì sự thiếu hiểu biết của tôi, nhưng "lvs" là gì? Nó có phải là đối thủ của haproxy không?
smaili 18/03/2016

Haproxy cũng sử dụng lvs. Tôi sử dụng piranha cũng sử dụng lvs cho quy trình cốt lõi.
dek.tiram 18/03/2016

haproxy là một ứng dụng độc lập và hoàn toàn không yêu cầu lvs (thậm chí còn không biết đến sự tồn tại của lvs). Bạn có thể sử dụng lvs để cân bằng một cụm các nút haproxy, nếu tải trên haproxy quá nặng.
Friek 18/03/2016

-1

Bộ cân bằng tải có thể là bộ định tuyến hoặc proxy ngược:

LVS là mô đun cân bằng tải lớp 4 (dựa trên định tuyến) tiêu chuẩn công nghiệp cho Linux Kernel. Nó được sử dụng trong các bộ cân bằng tải thương mại khác nhau bao gồm Barracuda, Loadbalancer.org và Kemp Technologies. Barracuda và Loadbalancer.org cũng sử dụng HAProxy để cân bằng tải lớp 7 ( dựa trên proxy ngược ).

Thi thiên Tôi quên điều này không hiển thị nơi tôi đến từ đó rõ ràng là Loadbalancer.org


1
Khi đăng liên kết tới các tài nguyên bên ngoài, người ta dự kiến ​​sẽ tiết lộ liên kết, xem Làm thế nào để không trở thành người gửi thư rác
gnat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.