← Về trang chủ

Trị Dứt Điểm Lỗi Rate Limit 429 Trên Google Sheets: Kỹ Thuật Write-Behind Cache Biến Sheets Thành Database Chịu Tải 1.000+ Tin Nhắn Cho n8n AI Agent

Sau bài chia sẻ về thiết kế 3 bảng dữ liệu cốt lõi trên Google Sheets (Bảng Sản Phẩm, Bảng Quy Tắc và Bảng Nhật Ký), một người bạn đang vận hành shop thời trang nhắn mình cầu cứu: "Tỵ ơi, vừa chạy ads có tầm 15 khách nhắn tin hỏi giá cùng lúc là con bot n8n lăn ra đơ cứng, báo lỗi đỏ lòm 429 Too Many Requests rồi gửi tin nhắn lặp lại cho khách loạn xạ!"

Đây là "nỗi đau kinh điển" của anh em làm tự động hóa khi dùng Google Sheets làm cơ sở dữ liệu: Google Sheets API v4 có giới hạn cứng (Quota Limit): Tối đa 300 requests/phút cho toàn bộ dự án, và 60 requests/phút cho mỗi người dùng.

Trong mô hình thông thường, mỗi câu chat của khách bot thực hiện 3 đến 4 thao tác API:

  1. Đọc bảng giá sản phẩm (1 Read Request).
  2. Đọc quy tắc khuyến mãi (1 Read Request).
  3. Đọc lịch sử phiên khách hàng (1 Read Request).
  4. Ghi nối tiếp nhật ký chat (1 Write Request).

Chỉ cần 15 khách nhắn tin cùng lúc trong 1 phút là hệ thống đã "đốt" sạch 60 API requests, ngay lập tức chạm ngưỡng 429 Resource Exhausted. Hậu quả là n8n kích hoạt cơ chế tự động thử lại (Retry), dẫn tới việc AI gửi 2-3 tin nhắn trùng lặp khiến khách hàng hoang mang.

Để giữ nguyên sự tiện lợi của Google Sheets mà vẫn chịu tải hàng nghìn tin nhắn mỗi giờ, mình áp dụng kỹ thuật "Write-Behind Cache 2 Tầng":

  1. Tầng Đọc (In-Memory Read Cache): Thay vì mỗi lần khách hỏi giá lại gọi node Google Sheets Lookup, n8n nạp toàn bộ danh mục sản phẩm và quy tắc khuyến mãi vào bộ nhớ RAM của Workflow (sử dụng Workflow Static Data hoặc Local Variable) định kỳ 15 phút một lần hoặc qua lệnh gõ /reload của admin. Khi khách chat hỏi SKU bất kỳ, node Code trong n8n tra cứu thẳng trên RAM với độ trễ chỉ 5ms và tiêu tốn đúng 0 request API Google Sheets.

  2. Tầng Ghi Gom (Batch Write-Behind): Sau khi AI sinh câu trả lời gửi ngay cho khách (không bắt khách phải chờ ghi database), thông tin lượt chat được đẩy vào một hàng đợi đệm (In-Memory Buffer) trong n8n. Cứ mỗi 30 giây hoặc khi gom đủ 10-20 dòng log, một nhánh phụ (Sub-workflow / Timer) mới kích hoạt lệnh "Append Many Rows" (Ghi theo đợt) đẩy toàn bộ vào Bảng Nhật Ký chỉ với đúng 1 request API duy nhất.

  3. Bảo hiểm phục hồi (Resilience Fallback): Nếu Google Sheets API tạm thời bị trễ mạng, hàng đợi trong RAM không bị mất mà tự động lưu tạm và ghi bù ở chu kỳ tiếp theo, triệt tiêu hoàn toàn rủi ro nghẽn luồng.

Kết quả đo đạc thực tế sau khi chuyển đổi: • Giảm 92% số lượng API requests lên Google Sheets. • Thời gian bot phản hồi khách giảm từ 1.8 giây xuống còn khoảng 350ms (nhanh gấp 5 lần). • Shop tự tin chạy quảng cáo tiếp đón hàng nghìn lượt inbox mỗi ngày mà không tốn thêm đồng nào mua phần mềm database đắt đỏ.

Chi tiết sơ đồ n8n mẫu, đoạn code JavaScript xử lý cache trong RAM và template gom hàng đợi mình để tại link Blog dưới phần bình luận nhé!

Anh em đang cho chatbot n8n đọc ghi Google Sheets theo cách nào? Đã từng vấp phải lỗi 429 quota bao giờ chưa? Cùng bình luận chia sẻ kinh nghiệm nhé!

Bình luận

Chi tiết sơ đồ n8n mẫu, đoạn code JavaScript xử lý Write-Behind Cache và hướng dẫn cấu hình chống lỗi 429 trên Google Sheets mình chia sẻ đầy đủ tại Blog: https://tyauto.name.vn/posts/2026-09-07-personal-feed-sheets-cache-rate-limit.html

🔀
Giảm chi phí token khi gọi API AI

Hostinger VPS — 9router proxy

Proxy định tuyến API AI: giảm chi phí token và tự phân phối yêu cầu qua hơn 40 nhà cung cấp LLM. Triển khai một cú nhấp, sao lưu tự động hằng tuần. giảm tới 69%

🚀 Xem ưu đãi Hostinger
🚀
VPS chạy n8n

Hostinger VPS — n8n tự lưu trữ

Chạy n8n tự lưu trữ: workflow không giới hạn, số lệnh chạy đồng thời không giới hạn, dùng được node cộng đồng. Hoàn tiền trong 30 ngày. giảm tới 69%

🚀 Xem ưu đãi Hostinger
✅ Đã sao chép đoạn code JS vào clipboard!