CLOUD & HYBRID

Kiểm thử cloud load balancer: health check, cross-zone failover và connection draining

23/8/2026 · 16 phút đọc

Cloud load balancer phân phối traffic qua hai zone tới nhiều backend và điểm đo client
Mục lục bài viết 10 phần

1. Câu hỏi kiểm thử cần trả lời 2. Topology và điểm đo 3. Biến số phải kiểm soát 4. KPI và bằng chứng đầu ra 5. Ma trận tình huống 6. Test plan theo từng pha 7. Draining, cross-zone và failback 8. Runbook thực hành 9. Giới hạn kết luận

ĐỌC NHANH

Bài viết giúp bạn

  • Câu hỏi kiểm thử cần trả lời
  • Topology và điểm đo
  • Biến số phải kiểm soát
Tùy chỉnh đọc
01

Câu hỏi kiểm thử cần trả lời

#

Trước tiên xác định lớp load balancer: L4 hay L7, public hay internal, global hay regional. Cần biết health check có đại diện đúng dependency, backend unhealthy bị loại sau bao lâu, traffic được phân phối sang zone khác thế nào và session đang tồn tại chịu tác động gì.

Tách bốn mốc: fault xảy ra, health system phát hiện, backend bị loại/đường được cập nhật và dịch vụ client phục hồi. Control plane “healthy” hoặc “registered” không đủ nếu request vẫn lỗi do connection pool, route, DNS hoặc dependency.

02

Topology và điểm đo

#

Dựng ít nhất hai zone, mỗi zone có nhiều backend và dependency được mô tả rõ. Client probes nên đặt trong cùng region, region khác và on-prem/hybrid nếu thuộc phạm vi. Thu access log frontend, load-balancer metrics, backend log, health status, flow log và client transaction.

Gắn request ID và backend/zone ID trong lab để đối soát phân phối. Dùng fault injection có kiểm soát: stop process, fail health endpoint, drop path, tăng latency dependency hoặc drain instance. Không gây lỗi vào môi trường ngoài phạm vi.

Minh họa kỹ thuật: Topology và điểm đo
Minh họa kỹ thuật: Topology và điểm đo
03

Biến số phải kiểm soát

#

Ghi LB type, protocol, TLS termination, keepalive, HTTP version, connection pool, health interval/timeout/threshold, slow start, deregistration delay, affinity và cross-zone setting. Khóa backend size/version, autoscaling policy, dependency, quota và security policy.

Traffic profile phải nêu request rate, concurrency, payload, method/idempotency, connection reuse, long-lived connection, session mix và offered load. Network condition gồm RTT, loss, route/NAT và client location. Nếu DNS tham gia failover, ghi TTL và resolver cache riêng.

04

KPI và bằng chứng đầu ra

#

KPI gồm request success, status/transport error, latency p50/p95/p99, throughput, active/new connection, retry và duplicate. Failover KPI gồm detection time, removal time, T0–service recovery, longest error burst, distribution theo zone/backend và time-to-rebalance.

Mốc · Định nghĩa · Bằng chứng T0 · Fault injection · Orchestrator log T1 · Health probe fail · Health log/metric T2 · Backend bị loại · Target state/event T3 · Traffic sang đường mới · Access/flow log T4 · Client ổn định · Transaction series

Pass/fail phải gắn với tải và method. Ví dụ error budget không vượt ngưỡng, không retry non-idempotent ngoài policy, p99 trở lại baseline trong budget và zone còn lại không quá tải sau chuyển lưu lượng.

05

Ma trận tình huống

#

Tình huống · Mục tiêu · Rủi ro cần quan sát Một backend lỗi · Health/removal · Probe quá nông Cả zone mất đường · Cross-zone · Capacity/route Dependency chậm · Health semantics · Healthy giả Rolling deployment · Draining · Connection reset Long-lived connection · Continuity · Session stuck Autoscale trễ · Capacity · Queue, tail latency Failback · Rebalance · Traffic oscillation

Mỗi case chạy với connection mới và connection reuse. Một health endpoint chỉ trả 200 có thể bỏ qua dependency; nhưng health check quá sâu có thể làm cả fleet bị loại khi dependency chung lỗi. Test phải phản ánh policy chủ đích.

06

Test plan theo từng pha

#

Pha baseline xác minh routing, zone distribution và health state. Pha functional kiểm tra threshold, path, port, status matcher và negative backend. Pha failover gây lỗi backend rồi zone; pha performance lặp dưới các mức tải và connection profile.

Pha deployment thử deregister/drain, process restart và version mix. Pha dependency tăng latency/lỗi; pha failback phục hồi theo thứ tự và quan sát rebalance. Sau mỗi run lưu configuration snapshot, event ID, raw request series, backend mapping và resource telemetry.

Minh họa kiểm chứng: Test plan theo từng pha
Minh họa kiểm chứng: Test plan theo từng pha
07

Draining, cross-zone và failback

#

Draining cần cho phép request/connection đang chạy hoàn tất nhưng ngăn workload mới vượt thời gian cho phép. Thử request ngắn, upload/download dài và connection lâu; đo forced close, timeout và business duplicate. Đừng suy ra từ một loại traffic.

Khi cross-zone, xác nhận zone còn lại có capacity, route, quota và dependency. Failback nên ramp thay vì dồn traffic nếu nền tảng hỗ trợ. Theo dõi oscillation khi health chập chờn; hysteresis và slow start phải được kiểm chứng bằng traffic thực.

08

Runbook thực hành

#
  • [ ] Chốt LB scope, zone, backend và dependency.
  • [ ] Ghi health check, affinity, cross-zone và draining.
  • [ ] Khóa workload, connection reuse và retry policy.
  • [ ] Đồng bộ trigger, log và client probes.
  • [ ] Chạy baseline phân phối và latency.
  • [ ] Gây lỗi backend, path và zone từng bước.
  • [ ] Thử dependency slow/fail và autoscaling delay.
  • [ ] Kiểm tra drain, rolling deployment và failback.
  • [ ] Đối soát request ID với backend/zone.
  • [ ] Lưu raw result, version, quota và điều kiện mạng.
09

Giới hạn kết luận

#

Kết quả phụ thuộc loại load balancer, provider/region, quota, backend, network path và workload. Một zone failover tốt ở tải thấp không chứng minh zone còn lại đủ capacity khi peak. Mô phỏng stop process cũng không đại diện mọi failure domain như control plane, route hoặc dependency chung.

Không so sánh provider bằng một con số nếu khác health semantics, topology và client location. Kết luận phải nêu retry policy và idempotency vì retry có thể làm tỷ lệ success đẹp hơn nhưng tăng tải hoặc lặp giao dịch.

10

Khái niệm cần nhớ

#
  • Health check: Probe dùng quyết định backend đủ điều kiện nhận traffic.
  • Cross-zone: Phân phối traffic giữa các availability zone.
  • Connection draining: Ngừng nhận workload mới nhưng cho workload đang chạy hoàn tất.
  • Session affinity: Giữ client/session với backend nhất định.
  • Fault domain: Phạm vi thành phần có thể lỗi cùng nhau.
  • Failback: Chuyển traffic trở lại sau khi thành phần phục hồi.
  • Error budget: Mức lỗi cho phép trong mục tiêu dịch vụ.
THUẬT NGỮ NHANH

Khái niệm cần nhớ

DUT / SUT
Thiết bị hoặc toàn bộ hệ thống đang là đối tượng của bài kiểm thử.
Steady state
Giai đoạn tải đã ổn định và đủ điều kiện để lấy số liệu đại diện.
Pass / fail
Kết luận dựa trên ngưỡng đã thống nhất, luôn đi cùng topology, cấu hình và điều kiện đo.
TÀI LIỆU ĐỐI CHIẾUTài liệu tham khảo4 nguồn

Nội dung được biên soạn độc lập, theo hướng vendor-neutral và đối chiếu các tài liệu gốc dưới đây. Tính năng sản phẩm cần được kiểm tra lại theo phiên bản đang sử dụng.

Nguyên tắc biên tập

NetVali ưu tiên nguồn tiêu chuẩn và tài liệu chính thức; phân biệt khuyến nghị triển khai với yêu cầu của tiêu chuẩn; không công bố thông số sản phẩm chưa gắn với phiên bản và điều kiện đo.

Thông số và khả năng sản phẩm có thể thay đổi theo phiên bản. Hãy đối chiếu tài liệu chính thức trước khi xây dựng cấu hình hoặc tiêu chí nghiệm thu.
BẮT ĐẦU TỪ BÀI TOÁN

Cần chuyển kiến thức thành test plan?

Chia sẻ mục tiêu, topology và ràng buộc kỹ thuật. NetVali sẽ cùng bạn xác định bài đo phù hợp.

Trao đổi yêu cầu kỹ thuật