F5 Load Balancer gửi lại yêu cầu khi hết thời gian


8

Hãy để tôi mở đầu điều này bằng cách nói rằng tôi không phải là quản trị viên hệ thống, tôi là một lập trình viên.

Gần đây, quản trị viên hệ thống của chúng tôi đã cài đặt bộ cân bằng tải F5. Kể từ đó, tôi nhận thấy rằng bất cứ khi nào một yêu cầu hết thời gian và kết thúc việc ném 500, bộ cân bằng tải sẽ gửi cùng một yêu cầu đến máy chủ khác của chúng tôi. IIS gửi phản hồi hết thời gian mặc dù tập lệnh thực sự vẫn đang chạy. Ngay cả các yêu cầu POST cũng được sao chép nếu một tập lệnh chạy trong hơn 5 phút. Đây dường như là một vấn đề tiềm năng đối với tôi, đặc biệt là với các trang web thương mại điện tử có liên quan đến thanh toán của khách hàng.

Đây chỉ là một vấn đề với một vài tập lệnh chạy dài hơn của chúng tôi (nhưng nó là một vấn đề nghiêm trọng). Tôi đã được thông báo rằng đây là hành vi dự kiến ​​và chúng tôi sẽ phải thay đổi mã của chúng tôi để tuân thủ. Vì vậy, câu hỏi của tôi là:

  • Đây có phải là hành vi dự kiến?
  • Ưu điểm của bộ cân bằng tải sao chép yêu cầu sau khi hết thời gian khác ngoài việc người dùng không phải làm mới là gì?
  • Với kiến ​​trúc này, nếu một tập lệnh làm hỏng máy chủ hoặc tài nguyên lưu trữ được chạy, nó sẽ chạy trên cả hai máy chủ. Điều đó có thực sự tối ưu?

Khi bạn nói 'gửi cùng một yêu cầu' đến máy chủ khác, bạn có đang đề cập đến kiểm tra sức khỏe hoặc yêu cầu người dùng được cấu hình không? Ý thức của tôi là không, nhưng nó đáng để làm rõ. Câu trả lời cho điều này sẽ thay đổi câu trả lời và / hoặc bất kỳ đề xuất nào.
mcauth

@mcauth nó gửi lại yêu cầu người dùng. Về cơ bản nếu người dùng thực hiện bất kỳ hành động nào gây ra lỗi 500, bộ cân bằng tải sẽ gửi cùng một yêu cầu chính xác đến máy chủ khác, do đó tạo ra hai phản hồi từ một yêu cầu HTTP.
Jim D

1
Tôi đã ở trên quỹ đạo của Big-IP trong một thời gian khá dài và tôi chưa bao giờ biết nó sẽ phát lại một yêu cầu trừ khi được yêu cầu cụ thể như vậy, thông qua một iRule đang thực hiện tải trọng bộ đệm yêu cầu HTTP :: . Rất kỳ quặc. Không nhìn thấy cấu hình đang chạy, rất khó để nói.
mcauth

Chỉ cần trả lại chủ đề này một chút để cho bạn biết rằng tôi đang gặp vấn đề chính xác tương tự. Bạn có nhận được thêm về việc giải quyết nó?
BitMask777

@ BitMask777 - Thật không may, chúng tôi không bao giờ thực sự có thêm bất kỳ điều gì với điều này. Đây vẫn là hành vi của người cân bằng tải và chúng tôi đã "đối phó với nó".
Jim D

Câu trả lời:


3

Hãy xem mục này về giám sát ứng dụng thụ động trong Big-IP

Câu trả lời của tôi cho câu hỏi của bạn, đáng thất vọng như chúng có thể, là

  • Có thể (phụ thuộc vào cấu hình giám sát thụ động)

  • Người dùng không thấy lỗi

  • Có lẽ (Tôi có muốn phục vụ lỗi người dùng của mình hoặc thử yêu cầu ở nơi khác không?)

"Action on Service Down" là cài đặt có thể định cấu hình.


Cảm ơn câu trả lời của bạn. Bạn nói đúng rằng điều đó hơi thất vọng, tôi đã hy vọng điều gì đó cụ thể hơn. Tôi đoán nó cụ thể trong việc giải thích rằng không có câu trả lời dứt khoát.
Jim D

0

Nếu xảy ra lỗi 500, điều này cho thấy sự cố trên máy chủ web. F5 sau đó sẽ đơn giản chuyển tiếp lỗi này đến máy khách đang kết nối. Nó sẽ không "gửi lại" yêu cầu của chính nó. Cách duy nhất điều này có thể xảy ra là nếu khách hàng thử lại yêu cầu. Tại thời điểm đó, yêu cầu này có thể có thể được cân bằng tải cho một thành viên nhóm khác, mặc dù không có gì đảm bảo và nó sẽ dựa trên sự kiên trì hoặc phương pháp cân bằng tải được sử dụng (vòng tròn, kết nối ít nhất, v.v.).

Nói tóm lại, trừ khi bạn có một số iRule thực sự điên rồ trên F5 của mình, đây là hành vi do chính kịch bản gây ra.

(Lưu ý: Tôi là Kỹ sư hỗ trợ Nework cho F5 trong một năm rưỡi làm việc với LTM)

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.