L1 · Service edge
Cổng tiếp nhận và kiểm soát yêu cầu
Lớp biên tiếp nhận request, xác thực quyền, kiểm tra quota và chặn quá tải trước khi đẩy việc xuống cụm GPU.
1Định nghĩa
API Gateway là điểm chặn đầu tiên khi request suy luận đi vào hệ thống. Nó kiểm tra xác thực (auth), hạn mức (rate limit/quota), kích thước prompt, tham số sinh và thời hạn (timeout/deadline) trước khi cho phép request tiêu tốn tài nguyên tính toán.
Tại đây, cơ chế kiểm soát tiếp nhận (admission control) đối chiếu tải hiện tại để nhận request vào hàng đợi có giới hạn hoặc trả lỗi từ chối sớm (như HTTP 429) thay vì để cụm GPU nghẽn dây chuyền. Nếu hợp lệ, request được chuyển sang bộ định tuyến (router); khi client ngắt kết nối hoặc hủy yêu cầu, gateway cũng truyền tín hiệu hủy xuống worker để giải phóng tài nguyên ngay.
Ví dụ đời thường: Gateway giống như quầy kiểm soát vé và an ninh ở cổng sân bay. Nhân viên tại đây kiểm tra vé hợp lệ, giấy tờ tùy thân và cân hành lý ngay từ cửa; nếu sảnh chờ bên trong đã quá tải hoặc vé không hợp lệ, khách sẽ được báo dừng ngay từ ngoài cổng thay vì tràn vào làm tắc nghẽn khu vực lên máy bay.
2Luồng
- Nhận yêu cầu
Đọc prompt, danh tính và thời hạn.
- Kiểm tra quyền và giới hạn
Áp hạn mức người dùng và giới hạn đầu vào.
- Quyết định tiếp nhận
Giữ hàng đợi có giới hạn, xử lý việc hủy.
- Chọn máy xử lý
Chuyển yêu cầu hợp lệ tới một bản sao mô hình.
Mã Mermaid
flowchart TD
step1["Nhận yêu cầu"]
step2["Kiểm tra quyền và giới hạn"]
step3["Quyết định tiếp nhận"]
step4["Chọn máy xử lý"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Một kiến trúc phổ biến tách cổng dịch vụ khỏi các máy chạy mô hình. Cổng giữ các quy tắc chung; máy chạy mô hình tập trung vào tính toán.
Tối ưu bằng hàng đợi hữu hạn, kiểm tra thời hạn và truyền tín hiệu hủy tới engine. Nếu khách ngắt kết nối mà engine vẫn sinh token, tài nguyên tiếp tục bị lãng phí.
Để tự xem cổng nhận hay từ chối từng yêu cầu khi hệ thống chạm giới hạn chỗ chạy cộng chỗ chờ, hãy chạy khối 1 (Gateway & admission) trong Bài Lab tổng hợp, nơi một yêu cầu nhận mã 429 và số đếm offered, served, rejected được đối chiếu.
4Profiling
- Thời gian chờ trước engine
Ghi dấu thời gian khi nhận yêu cầu và khi bắt đầu chạy; xem cả mức chậm của nhóm yêu cầu cuối phân phối.
- Tỷ lệ từ chối và hủy
Đếm theo nguyên nhân; kiểm tra bộ nhớ được trả lại sau hủy, không chỉ số lỗi trả về.
Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.
5Ví dụ
Dịch vụ chatbot giờ cao điểm
Khi tải tăng đột ngột, đặt giới hạn hàng đợi và trả hướng dẫn thử lại. Mục tiêu là bảo vệ thời gian đáp ứng của những yêu cầu đã được nhận.
Người dùng đóng cửa sổ chat
Tín hiệu ngắt kết nối phải đi tới bộ điều phối; yêu cầu được gỡ khỏi các bước tính toán và bộ nhớ riêng được dọn theo chính sách.
6Thuật ngữ
- Application Programming Interface
- Giao diện lập trình ứng dụng: cách một chương trình gửi yêu cầu tới chương trình khác.
- Admission control
- Quyết định nhận hay từ chối công việc dựa trên giới hạn tài nguyên và thời gian.