Khi người dùng bắt đầu tải lên file vượt 5GB qua tính năng đính kèm trong Slack, máy chủ Node.js đang dùng middleware body‑parser mặc định cố gắng đọc toàn bộ payload vào RAM, khiến bộ nhớ tăng đột ngột và process bị kill khi vượt quá giới hạn heap. Nguyên nhân kỹ thuật là việc không sử dụng streaming parser, vì mỗi kết nối tiêu tốn khoảng 5–6 GB RAM trong thời gian xử lý upload, làm giảm khả năng xử lý song song và gây ra timeout cho các request khác. Hệ quả là server thường xuyên restart, perda dữ liệu upload chưa hoàn thành và thời gian phản hồi tăng lên tới 30 giây cho các truy vấn API bình thường. Để khắc phục, tác giả đã thay body‑parser bằng busboy (hoặc multiparty) và pipe dữ liệu trực tiếp vào một file tạm trên đĩa hoặc vào multipart upload của Amazon S3, đồng thời đặt giới hạn kích thước phần qua highWaterMark và bật chế độ tự động dọn dẹp file tạm sau khi hoàn thành. Bài học là đối với file lớn hơn vài trăm MB, Node.js không nên đọc toàn bộ payload vào bộ nhớ; thay vào đó, cần sử dụng streaming, lưu trữ tạm hoặc truyền trực tiếp tới dịch vụ lưu trữ đối tượng, và nếu cần xử lý sau upload thì offload sang worker thread hoặc dịch vụ nền.
AI có thể tóm tắt sai. Đọc bài gốc trước khi dựa vào thông tin quan trọng.
Vì sao nên đọc: Bài này sẽ dạy bạn cách xử lý upload file lớn trên Node.js mà không làm quá tải server.
Trả lời 3 câu hỏi ngắn để nhận điểm thưởng cho bài này. Chỉ làm khi bạn muốn lấy điểm.
3 câu hỏi · dưới một phút · không bắt buộc
Nguồn: https://blog.devgenius.io/how-i-handled-5gb-file-uploads-without-breaking-my-node-js-server-a3713615bbec. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000 bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thửOpenTelemetry JavaScript has released SDK 3.0 (stable v3.0.0 packages and experimental v0.300.0 packages) and API 1.10.0. Migration guide For a detailed description of breaking changes, see the OpenTelemetry JS SDK 3.x migration guide. What is JS SDK 3.x? JS SDK 3.x encompasses new releases of the @opentelemetry/* JavaScript packages published from the opentelemetry-js repository, except the API and semantic-conventions packages. The package versions for this new major will be >=3.0.0 for the stable and >=0.300.0 for the unstable packages. Details on the full list of packages can be found in the migration guide.
I Can Fix the Bug. I Can’t Fix the Fear of Becoming Irrelevant. The quiet career anxiety of being a software professional in the age of AI. You close your laptop after a long day. You solved a …
Let's say you've built a website. You've invested in the design, bought a domain, and so on. But a website isn't only what you see on the screen. A lot happens behind the scenes. You have to understan
⚡ In a hurry? Skip straight to the rules ⚡ Don't Make the Same Mistake I Did I have... Tagged with community, beginners, writing, discuss.
Review AI code changes with a runnable example: catch a broken supplier code, trace its consumers, and check what a rollback can recover.
Weren't we supposed to be replaced by AI by now? Or at least work less? AI agents were supposed to... Tagged with discuss, ai.
Bối cảnh bài này cung cấp 11 khái niệm mạng cơ bản cho lập trình viên trong 11 phút. Nguyên nhân kỹ thuật là bài tập trung vào các khái niệm nền tảng như Ethernet, MAC addresses, DHCP, routing, OSPF, ICMP và Ping. Hệ quả giúp bạn nắm vững kiến thức cần thiết để hiểu hoạt động của mạng trong các ứng dụng phần mềm. Điều đáng học là các khái niệm này giúp bạn giao tiếp hiệu quả hơn với đội ngũ network và xử lý vấn đề liên quan đến mạng một cách chuyên nghiệp.
Bài này giúp lập trình viên nắm vững các khái niệm mạng cơ bản cần thiết để tối ưu hóa ứng dụng và giải quyết sự hiệu quả.
Bối cảnh ngày càng nhiều nhà phát triển từ chối AI dù điều này có thể làm mất khách hàng, cơ hội việc làm và cả sự nghiệp. Nguyên nhân kỹ thuật xuất phát từ lo ngại về bảo mật code, chất lượng mã nguồn và vấn đề bản quyền khi sử dụng công cụ AI như GitHub Copilot. Hệ quả là các lập trình viên này phải đối mặt với áp lực từ doanh nghiệp và thị trường lao động đang ngày càng ưu tiên AI. Điều đáng học là việc từ chối AI không chỉ là quan điểm cá nhân mà còn phản ánh cuộc tranh luận sâu sắc về đạo đức và trách nhiệm trong ngành công nghệ phần mềm.
Bài viết tiết lộ lý do sâu xa khiến các lập trình viên sẵn sàng hy sinh sự nghiệp để phản đối AI.
Đang tải bình luận…