Cân bằng tải phần cứng và phần mềm: Chỉ là vấn đề chi phí?


26

Nếu chi phí không phải là một vấn đề, liệu có bất kỳ lợi ích nào trong việc triển khai bộ cân bằng tải phần mềm cho lưu lượng truy cập web so với phần cứng không?

Câu trả lời:


33

Sự khác biệt giữa bộ cân bằng tải "phần cứng" và "phần mềm" không còn có ý nghĩa. Bộ cân bằng tải được gọi là "phần cứng" là CPU lớp PC, giao diện mạng với khả năng xử lý gói và một số phần mềm để liên kết tất cả lại với nhau. Một bộ cân bằng tải "phần mềm" nhận ra trên một máy chủ tốt với các NIC hiện đại là ... giống nhau.

Những gì bạn nhận được với các dịch vụ thương mại cao cấp như F5 hoặc Citrix Netscaler là:

  • Một bộ tính năng phong phú và sâu sắc. Giải pháp của họ là trưởng thành và có thể nhanh chóng xử lý tất cả các nhu cầu chung và một số nhu cầu không phổ biến.
  • Thống kê xuất sắc. Các loại quản lý thích thống kê và các kỹ thuật viên mạng nhận ra rằng các số liệu thống kê cũng có thể hữu ích trong việc khắc phục sự cố.
  • Một nhà cung cấp duy nhất bị nghẹt thở khi một cái gì đó không hoạt động, tức là hợp đồng hỗ trợ trực tiếp với nhà cung cấp giải pháp.
  • Chi phí lương thấp hơn. Thiết bị hầu như chỉ hoạt động và việc quản lý không mất nhiều giờ.

Với các bộ cân bằng tải phần mềm (mã nguồn mở), bạn không bị ngược lại, những gì bạn nhận được phụ thuộc vào phần mềm bạn chọn và cách bạn thực hiện. Điều đó nói rằng, thông thường bạn sẽ thấy:

  • Thời gian dài hơn để thiết lập các giải pháp ban đầu. Đặc biệt, nếu bạn cần nhiều hơn là chỉ cân bằng tải, bộ nhớ đệm fx + viết lại nội dung + HA, sau đó thiết lập phần mềm nguồn mở mất nhiều thời gian hơn.
  • Bạn xây dựng nó, bạn sở hữu nó. Nếu công ty của bạn thiết lập các bộ cân bằng tải phần mềm nguồn mở với các kỹ thuật viên của kênh, thì bạn phải tự chịu trách nhiệm 100% cho giải pháp đó. Tài liệu, con đường nâng cấp, khắc phục thảm họa vv tất cả sẽ cần phải được xem xét và có lẽ được thực hiện bởi bạn .

Sự khác biệt không thực sự trên "phần cứng" so với "phần mềm". Đó là "mua một ngăn xếp công nghệ đã được chứng minh là một thiết bị" so với "tự xây dựng nó". Tất nhiên có nhiều biến để xem xét khi đưa ra quyết định cuối cùng (chi phí, bộ kỹ năng đường phố, khả năng chịu đựng thời gian chết, tăng trưởng trong tương lai, v.v.).


2
Điểm tốt, nhưng chắc chắn có bộ cân bằng tải dựa trên ASIC (F5 / ACE / ..?) Xử lý 'rất nhiều' trong bộ xử lý phân tán, không phải trong CPU. Tôi cũng tranh luận về câu hỏi manhours, đặc biệt nếu chi phí cho giờ chuyên gia để thực hiện thiết lập.
Joris

Bạn đã đề cập ngắn gọn về điều này, nhưng tôi nghĩ cần nhấn mạnh rằng với bộ cân bằng tải CTNH, bạn thường nhận được một hợp đồng hỗ trợ mà bạn có thể sử dụng bất cứ khi nào có sự cố. Đôi khi điều này trở thành yếu tố quyết định cho một doanh nghiệp đi theo hướng nào.
vmfarms

@Joris, @vmfarms Điểm tốt, tôi đồng ý. Để có được tất cả các điểm tốt hơn vừa phải sẽ yêu cầu gõ một cuốn tiểu thuyết nhỏ. :-)
Jesper M

Câu trả lời tốt, tuy nhiên Barracuda Networks, Loadbalancer.org và Kemp Technologies đang bán hàng ngàn phần cứng / phần mềm / thiết bị ảo cho các trang web rất lớn. Bạn hiếm khi cần bất cứ thứ gì nhiều hơn ngăn xếp nguồn mở Linux / LVS được hỗ trợ mà họ cung cấp ... Đừng hiểu sai, các ngăn xếp Citrix & F5 tốt hơn nhiều nhưng đối với 95% ứng dụng không liên quan. Tôi đã viết một blog về cách so sánh các bộ cân bằng tải ở đây: loadbalancer.org/blog/
mẹo

2

Bộ cân bằng tải phần cứng thường có bộ tính năng phong phú hơn, đặc biệt là khi bạn truy cập vào các tính năng lớn như F5. Bạn cũng có thêm lợi ích của khả năng mở rộng lớn hơn do giảm tải phần cứng.

Mặt khác, nếu bạn biết lưu lượng truy cập của mình sẽ không quá cao, bộ cân bằng tải phần mềm thực sự hoạt động khá tốt. Nếu bạn có thể thực hiện nhờ có Lớp 4 LB, Linux LVS + Keepaliving là một lựa chọn rất tốt. Nếu bạn cần sức mạnh của LB lớp 7, bạn có thể sử dụng HAProxy.

Vì vậy, tóm lại, LB LB thường có quy mô tốt hơn so với SW LB.

Hi vọng điêu nay co ich!


"CT LB .. quy mô tốt hơn SW LB" không hoàn toàn chính xác. Các LB LB cung cấp cho đến nay hiệu suất khung gầm đơn lớn nhất . Nhưng một thiết kế LB phần mềm tốt sẽ mở rộng theo chiều ngang, và do đó cũng có quy mô (và có thể rẻ hơn một LB sắt lớn).
Jesper M

2

Một vài suy nghĩ:

Pro: máy bạn chạy bộ cân bằng tải có thể có phần cứng mạnh hơn nhiều nên sẽ nhanh hơn và áp dụng độ trễ ít hơn (mặc dù tùy thuộc vào tốc độ liên kết của bạn với thế giới bên ngoài, điều này có thể tạo ra một chút khác biệt).

Con: một bộ cân bằng tải phần cứng có thể sẽ không có nhiều năng lượng tính toán hơn mức cần thiết (nó có thể chạy trên chip dựa trên nguyên tử hoặc ARM chứ không phải CPU Intel / AMD cao cấp chunky) vì vậy sẽ tiêu thụ ít năng lượng hơn và tạo ra ít hơn nhiệt.

Pro: cài đặt sắp xếp cân bằng tải phần mềm của riêng bạn có thể giúp bạn linh hoạt hơn trong cấu hình và các nâng cấp / thay đổi sau này, trong đó giải pháp phần cứng có thể là giải pháp "hộp đen" kín hơn nhiều. Mặc dù nếu bạn đang mua một dịch vụ được quản lý để thực hiện bộ cân bằng phần mềm thì điều này sẽ tạo ra rất ít sự khác biệt.

Con: nếu bạn không quản lý bộ cân bằng phần mềm (nghĩa là nhiệm vụ được thuê ngoài hoặc bạn đang mua dịch vụ như một phần của sự sắp xếp lưu trữ được quản lý lớn hơn), bạn có thể thấy phí quản trị viên để duy trì cài đặt có nghĩa là phần cứng ngoài luồng giải pháp sẽ rẻ hơn trong thời gian dài. Ngoài ra, hãy nhớ tính đến thời gian của bạn vào bất kỳ chi phí nào nếu bạn hoặc công ty của bạn sẽ quản lý bộ cân bằng tải.


"Máy bạn chạy bộ cân bằng tải có thể có phần cứng mạnh hơn nhiều nên sẽ nhanh hơn và áp dụng độ trễ ít hơn" - thực sự? Tôi đã thấy nó nói rằng một ServerIron có thể xử lý 15m kết nối đồng thời trong khi haproxy có thể xử lý 10 nghìn trong số hàng ngàn
timmy

@Timmy - Tôi đã đọc một nghiên cứu trường hợp trên trang web haproxy (Trang web của họ, thật không may, ngoại tuyến) nơi họ đã bão hòa một liên kết 10Gbps đến hộp HAProxy và nó được mở rộng một cách độc đáo, và tôi khá chắc chắn rằng sẽ có hơn 10k yêu cầu đồng thời .
Mark Henderson

1
Tìm thấy nó - webcache.googleusercontent.com/... (nhờ Google Cache) - chìa khóa dòng con người 105931 sessions per secondvà khoảng 17% sử dụng CPU - đó là điên khá cho một bộ xử lý Xeon cơ bản đơn
Đánh dấu Henderson

@Fudeeker - cảm ơn, tôi không nhận ra họ có thể quản lý nhiều phiên như vậy.
timmy

2

Tôi cũng sẽ tính đến những điểm này:

Nếu công ty có bộ phận CNTT với chuyên gia mạng, thì LB Phần cứng có thể giúp giảm tải bảo trì từ nhóm phát triển.

Đôi khi, đặc biệt đối với các công ty lớn, áp dụng một phần cứng mới mà không ai biết cách vận hành, ngụ ý trong việc thuê các chuyên gia tư vấn đắt tiền hoặc thậm chí là một nhân viên mới.

Nhóm phát triển sẽ ghét một giải pháp Phần cứng nếu họ dự định nhấn mạnh các tính năng của bộ cân bằng tải, ví dụ như, để áp dụng triển khai liên tục.


0

Rõ ràng CT LB có thể cải thiện việc xử lý các kết nối SSL và do đó giảm tổng số máy chủ ứng dụng cần thiết:

http://highscalability.com/blog/2010/8/12/strargety-terminate-ssl-connections-in-hardware-and-reduce-se.html


2
Phần cứng giảm tải SSL cũng có sẵn trực tiếp cho máy chủ web và được thư viện OpenSSL phổ biến trên Linux; lợi thế này không phải là duy nhất đối với các bộ cân bằng tải phần cứng.
Charles Duffy
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.