Như được đề xuất trong một câu hỏi khác , chúng tôi đã thêm đường dẫn đích là db và autosave_interval là 3000, nhưng sau vài ngày bộ nhớ sẽ tự động giảm.
Vui lòng cho tôi biết nếu có bất kỳ giải pháp nào khác để lưu trữ chỉ trong tệp db.
Như được đề xuất trong một câu hỏi khác , chúng tôi đã thêm đường dẫn đích là db và autosave_interval là 3000, nhưng sau vài ngày bộ nhớ sẽ tự động giảm.
Vui lòng cho tôi biết nếu có bất kỳ giải pháp nào khác để lưu trữ chỉ trong tệp db.
Câu trả lời:
Trình môi giới mosquitto không hỗ trợ giảm tải lưu trữ bền vững cho cơ sở dữ liệu bên ngoài và tệp db chỉ là bản sao lưu của cơ sở dữ liệu trong bộ nhớ trong trường hợp người môi giới gặp sự cố hoặc tắt máy.
Nếu bạn có số lượng lớn tin nhắn được xếp hàng cho khách hàng ngoại tuyến hoặc số lượng lớn tin nhắn được giữ lại lớn thì bộ nhớ sẽ bị tiêu tốn.
Điều tốt nhất bạn có thể làm là đặt persistent_client_expiration
tùy chọn xóa tin nhắn xếp hàng cho các máy khách không đăng nhập trong một thời gian dài. Chi tiết về tùy chọn này có thể được tìm thấy trong trang man mosquitto.conf .
Nếu không, bạn sẽ cần xem xét việc sử dụng một nhà môi giới khác hỗ trợ lưu trữ ngoài cơ sở dữ liệu lưu trữ. Một cái gì đó như mosca có thể được cấu hình để sử dụng mongo hoặc redis làm cửa hàng sao lưu.