Trong các ứng dụng Enterprise xử lý tải cao, hiện tượng Socket Exhaustion khi gọi HTTP API bên ngoài và hiện tượng Memory Leak do DbContext trong Background Service thường xảy ra như thế nào? Trình bày giải pháp thiết kế để xử lý triệt để hai bài toán này.
1. Bài toán Socket Exhaustion khi giao tiếp HTTP API
Nguyên nhân:
Khi lập trình viên khởi tạo mới HttpClient bằng từ khóa new HttpClient() trong mỗi request hoặc sử dụng using (var client = new HttpClient()), mặc dù HttpClient thực thi IDisposable, kết nối Socket bên dưới không được giải phóng ngay lập tức sau khi Dispose(). Nó sẽ rơi vào trạng thái TIME_WAIT của hệ điều hành (thường kéo dài 240 giây). Dưới tải cao, lượng socket ở trạng thái TIME_WAIT tăng vọt dẫn đến cạn kiệt Port hệ thống (Socket Exhaustion), gây ra lỗi SocketException.
Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...
Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp gói Career Pass (chỉ từ 49k/tháng) hoặc Learning Pass để truy cập không giới hạn.
// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
Mở Khóa Full Câu Trả Lời & Code Chuẩn Senior
Gói Career Pass chỉ từ 49k/tháng: Mở khóa 100% câu hỏi Junior/Middle/Senior + Ứng tuyển IT không giới hạn.
Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp
Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.
Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)
Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?
Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.
Kiểm Tra CV Chuẩn ATS Miễn Phí
Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.
Câu hỏi ASP.NET Core liên quan cùng chủ đề
- Kestrel Web Server trong ASP.NET Core là gì và tại sao thường được kết hợp với Reverse Proxy như IIS hoặc Nginx? Senior
- Phân tích cơ chế hoạt động của Dependency Injection (DI) Container trong ASP.NET Core. Khái niệm Captive Dependency là gì, gây ra hậu quả gì trong các hệ thống Enterprise và làm thế nào để phát hiện, phòng tránh? Senior
- Trình bày kiến trúc xử lý ngoại lệ tập trung (Global Exception Handling) trong ASP.NET Core từ .NET 8 với IExceptionHandler. Làm thế nào để tích hợp Correlation ID phục vụ Distributed Tracing xuyên suốt Pipeline xử lý của ứng dụng Microservices? Senior


