HAProxy HTTP vs TCP


17

HAProxy cung cấp cho bạn tùy chọn để đặt chế độ thành TCP hoặc HTTP. Nó cũng cho phép bạn thiết lập cổng.

Vậy tại sao tôi lại cho phép tôi chọn giữa HTTP và TCP, nếu nó cũng cho phép tôi chọn cổng? Chắc chắn nếu tôi muốn HTTP, tôi chỉ có thể chọn TCP và cổng 80?

Tại sao chỉ có TCP và HTTP? Dường như ngụ ý rằng HTTP không phải là TCP. Tại sao không có TCP, HTTP, SNMP, FTP, v.v., v.v.

Tại sao chỉ có HTTP và TCP? Tại sao có một trong các tùy chọn đó nếu HTTP là TCP? Tìm thấy nó rất khó hiểu và thực sự rất khó để tìm thấy bất kỳ thông tin nào về việc cân bằng tải các dịch vụ không phải là http (s).

Câu trả lời:


28

Bằng cách sử dụng phương thức HTTP trong cấu hình HAProxy, bạn có quyền truy cập vào một số tùy chọn dành riêng cho HTTP. Ví dụ: bạn có thể chọn các phụ trợ khác nhau dựa trên URL trong yêu cầu HTTP. Khi chỉ định chế độ TCP, HAProxy không đánh giá các tiêu đề HTTP trong gói.

Vì vậy, bạn chắc chắn chỉ có thể sử dụng TCP cho lưu lượng HTTP, nhưng bạn sẽ không có các tùy chọn HTTP bổ sung. Lưu ý phụ, trừ khi bạn đang sử dụng các tính năng SSL, bạn phải sử dụng TCP cho lưu lượng HTTPS vì các gói được mã hóa và HAProxy không thể xem các tiêu đề HTTP.


Cảm ơn. Điều đó thực sự giúp tôi hiểu tất cả. Chúc mừng.
marflar

6

Ai đó đã viết một bài đăng trên blog này: http://www.linickx.com/645/load-balance-anything-with-haproxy

Dù sao, tôi không biết tại sao những người duy trì haproxy sử dụng cú pháp họ chọn, tôi không thích nó vì tôi thấy nó sai (nói điều gì đó có thể là ốc vít HTTP hoặc TCP với bộ não của tôi), nhưng hóa ra bạn có thể tải cân bằng mọi thứ với HAProxy và nếu đó không phải là HTTP (s) thì chỉ cần đi với TCP và số cổng chính xác.


HTTP là TCP ở tầng vận chuyển, vì vậy toàn bộ ứng dụng chỉ là TCP với một số chuyên môn hóa cho HTTP. Bằng cách này, liên kết tốt.
Signus
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.