Cloudflare Load Balancing: Phân phối traffic thông minh, tự động failover và theo dõi sức khỏe server
Trong kiến trúc hạ tầng hiện đại, không server nào được phép là “điểm chết duy nhất”. Nếu toàn bộ traffic đổ vào một máy chủ và máy đó gặp sự cố — dù chỉ vài giây — người dùng sẽ nhận được trang lỗi ngay lập tức. Cloudflare Load Balancing giải quyết bài toán này bằng cách phân phối lưu lượng thông minh giữa nhiều server, tự động phát hiện server nào không khỏe và rút nó khỏi vòng quay — trước khi người dùng kịp nhận ra có sự cố.
🌐 Cloudflare Application Performance — Bức tranh lớn hơn
Load Balancing là một phần trong bộ giải pháp Cloudflare Application Performance — được thiết kế để tăng tốc, độ tin cậy và hiệu quả của ứng dụng web trên toàn cầu. Bộ giải pháp này gồm:
CDN
Cache nội dung toàn cầu
Cache
Giảm tải origin
Argo Smart Routing
Tối ưu đường truyền
Load Balancing
Phân phối traffic
Workers
Edge computing
Stream Delivery
Phát video tốc độ cao
⚖️ Cloudflare Load Balancing là gì?
Load Balancing phân phối lưu lượng truy cập trên nhiều máy chủ và trung tâm dữ liệu, ngăn không cho bất kỳ máy nào trở thành nút cổ chai, từ đó nâng cao hiệu suất tổng thể và ngăn chặn thời gian ngừng hoạt động. Cloudflare Load Balancing hỗ trợ kết nối tới cả public endpoint (server công khai) và private endpoint thông qua Cloudflare Tunnel.
✨ 4 tính năng cốt lõi
⚖️ Load balancing & Failover
Phân phối traffic đều trên các endpoint healthy, tự động chuyển sang chế độ dự phòng khi có endpoint không phản hồi hoặc không còn lành mạnh.
🔍 Active Monitoring
Theo dõi liên tục trạng thái từng origin server theo khoảng thời gian cấu hình (phút, giờ) và trên nhiều trung tâm dữ liệu toàn cầu — kiểm tra status code, response text và timeout.
🗺️ Intelligent Routing
Chọn pool dựa trên độ trễ thực tế, khu vực địa lý của khách truy cập, thậm chí tọa độ GPS — đưa người dùng đến server gần và nhanh nhất với họ.
📊 Analytics
Xem phân tích toàn diện về traffic theo pool, đánh giá trạng thái hoạt động của endpoint, bản đồ độ trễ theo khu vực và lịch sử thay đổi sức khỏe pool.
📋 Hướng dẫn cấu hình từng bước
Bước 1 — Kích hoạt Load Balancing
Load Balancing là tiện ích bổ sung (add-on) nên tài khoản cần có hồ sơ thanh toán. Để bật:
- Đăng nhập Cloudflare dashboard, chọn tài khoản và domain
- Vào Traffic → Load Balancing
- Chọn Enable Load Balancing → xác nhận gói và thanh toán nếu chưa có gói Enterprise
Sau khi kích hoạt, dashboard hiển thị 3 nút chính: Create Load Balancer, Manage Monitors, Manage Pools.
Bước 2 — Điều kiện trước khi bắt đầu
- Có quyền truy cập vào ít nhất 2 máy chủ (vật lý hoặc đám mây)
- Đã đăng ký gói Load Balancing (có sẵn dưới dạng tiện ích bổ sung)
- Các máy chủ đã có tên máy chủ thử nghiệm và sản xuất được chứng nhận SSL/TLS
Bước 3 — Tạo Monitor để theo dõi sức khỏe server
Monitor gửi yêu cầu định kỳ đến từng origin server để kiểm tra xem nó có đang hoạt động bình thường không. Khi một pool trở nên không ổn định, bộ cân bằng tải sẽ loại pool đó ra khỏi vòng quay endpoint tự động.
Vào Traffic → Load Balancing → Manage Monitors → Create, điền thông tin:
Các tham số cơ bản
- Type: HTTP/HTTPS/TCP (non-Enterprise) hoặc thêm UDP ICMP, ICMP Ping, SMTP (Enterprise)
- Path: đường dẫn endpoint để chạy yêu cầu kiểm tra
- Port: cổng đích cho monitor
- Interval: tối thiểu 60s (Pro), 15s (Business), 10s (Enterprise)
- Timeout/Retries: kết hợp xác định khi nào server bị đánh dấu unhealthy
- Expected Code(s): mã HTTP dự kiến — có thể dùng pattern như
2xx
Các tham số nâng cao
- Response Body: tìm chuỗi con trong 100 MB đầu tiên của phản hồi (không phân biệt hoa thường)
- Simulate Zone: đẩy yêu cầu qua ngăn xếp Cloudflare — nên bật nếu zone có Authenticated Origin Pulls hoặc Argo Smart Routing
- Follow Redirects: theo dõi redirect 301/302 đến endpoint cuối cùng
- Configure Request Headers: thêm header tùy chỉnh — hữu ích khi server yêu cầu header cụ thể
Bước 4 — Chuẩn bị máy chủ gốc
Đảm bảo tường lửa hoặc máy chủ web không chặn hoặc giới hạn tốc độ các yêu cầu monitor từ Cloudflare. Whitelist toàn bộ dải IP của Cloudflare tại cloudflare.com/ips.
Mỗi monitor gửi request với User-Agent: Mozilla/5.0 (compatible; Cloudflare-Traffic-Manager/1.0; +https://www.cloudflare.com/traffic-manager/; pool-id: $poolid) — trong đó $poolid là 16 ký tự đầu của pool ID.
Bước 5 — Tạo Origin Pool
Pool là nhóm các máy chủ gốc (origin) — hình dung như một “bộ bản ghi” mà Cloudflare chỉ trả về những địa chỉ được coi là an toàn. Vào Traffic → Load Balancing → Manage Pools → Create:
Origin Steering — 3 chiến lược
- Random: phân phối ngẫu nhiên hoặc theo trọng số
- Hash: định tuyến nhất quán theo IP client
- Least outstanding requests: ưu tiên server ít yêu cầu đang chờ nhất
Health Threshold & Monitor
- Health Threshold: số origin tối thiểu cần “lành mạnh” để cả pool được coi là an toàn
- Monitor: đính kèm monitor vừa tạo ở Bước 3
- Health Check Regions: kiểm tra từ nhiều vị trí cho độ chính xác cao hơn
- Pool Notifications: cảnh báo khi pool thay đổi trạng thái
Bước 6 — Xác nhận trạng thái pool
Trước khi hướng traffic thật vào pool, vào Traffic → Load Balancing → Manage Pools kiểm tra cột Health và Origin Health. Cloudflare hiển thị 5 trạng thái:
Tất cả origin đều lành mạnh
Ít nhất 1 origin không khỏe, pool vẫn nhận traffic
Dưới ngưỡng Health Threshold — không nhận traffic (trừ Fallback Pool)
Chưa có monitor gắn hoặc chưa có lần kiểm tra đầu tiên
Dành riêng cho Fallback Pool
Bước 7 — Tạo Load Balancer (khuyến nghị thử nghiệm trên subdomain trước)
Thay vì triển khai thẳng lên production, hãy tạo bộ cân bằng tải trên tên miền thử nghiệm để xác minh mọi thứ hoạt động đúng trước. Vào Traffic → Load Balancing → Create Load Balancer. Wizard gồm 6 trang:
7.3 — Trang Hostname
- Hostname: tên DNS công khai mà Load Balancer sẽ sử dụng (ví dụ
load-balancing.fptcloudhub.io) - Proxy toggle (icon mây cam): nên bật để traffic qua Cloudflare và được gán SSL/TLS tự động
- Session Affinity: “sticky sessions” — gắn tất cả request từ cùng một end-user với một origin cố định bằng cookie
- Adaptive Routing: tự động điều chỉnh định tuyến khi có điều kiện động — ví dụ failover xuyên pool khi interval giữa các health check
7.5 — Trang Add an Origin Pool
- Chọn pool đã tạo từ Bước 5 (hoặc tạo pool mới ngay tại đây)
- Nếu Traffic Steering = Off: sắp xếp thứ tự pool để xác định thứ tự failover
- Cấu hình Fallback Pool — pool cuối cùng được dùng khi tất cả pool khác đều không khỏe
- Với Random steering: có thể đặt Trọng số (qua API) để kiểm soát phần trăm traffic mỗi pool
7.9 — Trang Traffic Steering — 6 chiến lược
Off
Định tuyến theo thứ tự failover đã sắp xếp
Dynamic steering
Chọn pool nhanh nhất dựa trên độ trễ đo từ health check
Geo steering
Đến pool cụ thể theo khu vực Cloudflare phục vụ
Proximity steering
Đến pool vật lý gần nhất với người dùng
Random steering
Ngẫu nhiên hoặc ngẫu nhiên có trọng số
Least outstanding
Theo trọng số pool và số yêu cầu đang chờ xử lý
7.13 — Trang Review & Deploy
Xem lại tổng hợp cấu hình (Hostname, Origin Pools, Monitors, Traffic Steering) rồi chọn Save as Draft hoặc Save and Deploy để triển khai ngay.
Bước 8 (tùy chọn) — Xem phân tích Load Balancing
Sau khi gửi một số request thử đến hostname vừa tạo, vào Traffic → Load Balancing Analytics để xác nhận traffic đang được phân phối đúng như mong đợi.
Overview
Số request định tuyến đến từng pool — lọc theo pool, thời gian, khu vực, origin cụ thể
Latency Map
Bản đồ tương tác hiển thị khu vực có pool Unhealthy hoặc Slow theo màu sắc
Logs
Lịch sử thay đổi trạng thái origin — từ lành mạnh sang không lành mạnh và ngược lại
Bước 9 — Định tuyến lưu lượng production
Sau khi đã xác minh mọi thứ hoạt động đúng trên subdomain thử nghiệm, chuyển sang production. Cần chú ý 2 điểm:
9.2.1 — Thứ tự ưu tiên DNS
Khi hostname của Load Balancer trùng với bản ghi DNS đang có, Cloudflare ưu tiên theo mức độ cụ thể:
- DNS record
x.example.com+ LB recordx.example.com→ LB thắng (cùng mức cụ thể) - DNS record
y.example.com+ LB record*.example.com→ DNS thắng (cụ thể hơn) - DNS record
*.example.com+ LB record*.example.com→ LB thắng
9.2.2 — SSL/TLS cho Load Balancer hostname
Cloudflare tự động tạo LB DNS record cho hostname bạn đặt — nhưng Universal SSL không tự gán cho hostname này. Phải bật Proxied thủ công trên icon mây cam để được assign TLS. Nếu hostname là subdomain của subdomain (ví dụ lb.dev.example.com), cần mua thêm Advanced Certificate.
Bước 10 (tùy chọn) — Thiết lập thông báo thanh toán
Load Balancing tính phí theo mức sử dụng (PAYGO) — nên thiết lập cảnh báo để tránh hóa đơn bất ngờ. Vào Cloudflare dashboard → Notifications → Alert Type: Usage Based Billing rồi cấu hình:
- Name: tên thông báo
- Product: chọn Load Balancing
- Notification limit: ngưỡng số liệu kích hoạt thông báo
- Notification email: địa chỉ nhận cảnh báo
💡 Với gói Enterprise, Cloudflare sẽ bundle nhu cầu và đưa ra giá cố định theo tháng với discount và nhiều tính năng hơn gói tự trả.
💡 Tổng kết nhanh từ Next Step
- Luôn thử nghiệm trên subdomain test trước khi áp dụng lên production — tránh gián đoạn dịch vụ ngoài kế hoạch
- Chọn Dynamic steering nếu bạn có server ở nhiều khu vực địa lý — Cloudflare tự tìm server nhanh nhất cho từng người dùng
- Health Threshold nên đặt bằng số origin tối thiểu cần có để dịch vụ hoạt động — tránh đặt quá cao khiến pool bị đánh dấu Critical nhầm
- Bật Pool Notifications để được cảnh báo ngay khi có origin chuyển sang unhealthy
- Nhớ bật Proxied thủ công trên hostname — không có proxy sẽ không có SSL/TLS
- Thiết lập Usage Based Billing alert để kiểm soát chi phí khi traffic tăng đột biến
Cần hỗ trợ cấu hình Load Balancing?
Đội ngũ Next Step hỗ trợ thiết kế kiến trúc cân bằng tải phù hợp với quy mô và đặc thù hạ tầng của doanh nghiệp — liên hệ (+84) 933 810 688 hoặc [email protected].