OpenArchLabOpen Architecture — From Models to Systems

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.

LESSON ID gateway GROUP Kiến trúc Inference
Mục lục bài học

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

Sơ đồ luồng (4 bước)
  1. Nhận yêu cầu

    Đọc prompt, danh tính và thời hạn.

  2. 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.

  3. Quyết định tiếp nhận

    Giữ hàng đợi có giới hạn, xử lý việc hủy.

  4. 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.

7Bài liên quan

8Nguồn