Bài toán nhãn vận chuyển trong một đoạn
Mỗi đơn hàng tạo ra một PDF, mỗi PDF thường được in một lần trên máy in nhiệt, và khi hệ thống chậm thì kiểu lỗi không phải là “trang tải chậm” mà là “quầy pickup trong kho đang phải chờ API kết xuất nhãn của bạn”. Đây là bài toán mà p99 latency chính là chỉ số sản phẩm, đầu ra xác định rất quan trọng vì in lại là chuyện thường ngày, và chất lượng mã vạch - đo bằng dung sai GS1 X-dimension chứ không phải pixel - quyết định máy quét có đọc được nhãn ngay lần đầu hay không.
Các stack PDF dựa trên headless browser thường gặp cả ba vấn đề cùng lúc: cold start bị nhân lên khi có spike, mã vạch raster xuống chất lượng trên nhãn nhiệt nhỏ, và font rasterisation thay đổi giữa các phiên bản Chromium, nên gần như không thể in lại một file giống hệt theo byte.
Vì sao gPdf phù hợp
Nhãn nhiệt 4x6 nhỏ (576 x 864 pixel ở 203 dpi), ít element (khối văn bản + 1-2 mã vạch + logo hãng vận chuyển tùy chọn), và volume cao (một 3PL cỡ vừa có thể kết xuất 50.000-500.000 nhãn mỗi ngày). Đó là tải công việc mà gPdf được xây cho. Renderer:
- Biên dịch bố cục một lần - tọa độ trang, font cascade và hình học mã vạch được giải quyết ở thời điểm request, không đi qua browser layout engine.
- Vector hóa mọi mã vạch - module được vẽ trực tiếp vào PDF stream, nên GS1-128 rộng 30 mm vẫn đọc sạch ở 203 dpi hoặc 600 dpi mà phía bạn không cần logic rasterisation theo DPI.
- Nhúng NotoSans CJK + Latin - cùng một payload có thể kết xuất đúng tên hãng vận chuyển bằng tiếng Trung mà bạn không phải provisioning font trên render container.
p99 ổn định ở 8 ms trên workload tham chiếu của chúng tôi (1.000 lượt gọi mẫu ở trên tại EU-WEST), bất kể một isolate mới chỉ kết xuất một nhãn hay đã kết xuất 10.000 nhãn.
Bài toán volume và chi phí
Một 3PL cỡ vừa thường chạy khoảng 50.000 nhãn/ngày, tức khoảng 1,5 triệu nhãn/tháng. Trên Basic plan (5 USD/tháng cho 100.000 trang, 0,00005 USD mỗi trang vượt mức):
1,5 triệu trang x 0,00005 USD = 75,00 USD phí vượt mức
+ phí Basic plan = 5,00 USD
------------------------------------------
tổng = 80,00 USD/tháng
Cùng tải công việc đó trên Puppeteer-on-Lambda thường nằm trong khoảng 200-400 USD/tháng ở cấu hình Lambda concurrency phổ biến, chưa tính chi phí cold start trong giờ peak.
Black Friday: một ví dụ cụ thể
Đợt tăng tải cao điểm là nơi kết xuất tại Edge thể hiện rõ giá trị nhất. Một khách hàng bán lẻ tăng lên 200% volume nhãn bình thường trong giờ đầu Black Friday - ví dụ 100.000 nhãn trong 60 phút, trung bình 1.700 nhãn/phút và burst peak 5.000 nhãn/phút - vẫn hoàn tất trong một pool Cloudflare Workers region mà không có chi phí cold start. Cùng tải đó trên Puppeteer warm pool được cấu hình theo traffic trung bình sẽ tạo cold start 1,5-2,5 giây ở các container phải mở thêm khi burst, và quầy pickup trong kho cảm nhận từng lần chậm đó.
Nên xem tiếp ở đâu
- JSON Render API bao phủ mọi trường dùng trong mẫu nhãn ở trên.
- Muốn hiểu sâu hơn về hình học mã vạch, đọc bài về độ chính xác GS1-128.
- Đang thay một pipeline nhãn bằng iText? Xem gPdf so với iText cho nhãn logistics, hoặc bản đầy đủ về TCO nhãn vận chuyển từ 100.000 đến 100 triệu trang/tháng.
- Để so sánh với stack dựa trên Chromium, xem gPdf so với Puppeteer.