Nâng CaoRabbitMQ iconRabbitMQ

Làm thế nào để phát hiện và xử lý connection/channel leak?

Connection leak xảy ra khi ứng dụng mở connection mà không đóng (phổ biến trong framework có connection pool).

Channel leak tương tự.

Triệu chứng: số connection/channel tăng dần, cạn kiệt file handle, connection mới bị reject.

Phòng ngừa:

  1. Dùng connection pooling;
  2. Dùng try-finally hoặc try-with-resources để đảm bảo gọi close();
  3. Monitor và alert khi count tăng;
  4. Set heartbeat timeout để phát hiện dead connection;
  5. Giới hạn connection per application

Debug bằng management UI xem IP/user nào đang leak.

Xem toàn bộ RabbitMQ cùng filter theo level & chủ đề con.

Mở danh sách RabbitMQ