Nên ghi log từ clients vào file hay database?



  • Chào mọi người,
    Hiện tại mình đang build một hệ thống lấy log-event của clients và gửi nó lên một server để quản lý các log đó ( server mình dựng bằng express). Tại server mình tạo ra các file tương ứng với những event mà mình cần lấy, sau đó mỗi khi client tương tác tạo ra event thì mình sẽ gửi log đó về server -> mở file tương ứng -> thêm dữ liệu vào file theo kiểu synchronized.
    Tuy nhiên với cách này thì mình thấy không ổn lắm nếu mà lượng request lớn.
    Mọi người có ai đã từng làm bài toán này hoặc tìm hiểu về nó có thể cho mình lời khuyên hay phương hướng để giải quyết được không ạ

    Cám ơn rất nhiều.



  • @Trà-Đất-Tổ dữ liệu lớn thì bạn dùng elastic nhé. Chuyên log audit. Hoặc bạn cũng có thể tạo 1 table trong db của bạn tên là audit. Rồi ghi vào db.

    Tại sao không nên ghi vào file. Về cơ bản databse cũng là ghi vào file giống bạn. Nhưng db ghi có data structure. Có thể index, tim kiếm, sửa dễ dàng. Nên nếu chọn ghi vào file. Thà bạn ghi vào db nhé. Nó đảm bảo các tính acid hơn.



  • @Nguyen-Hien ok, cám ơn bạn



  • bạn đưa việc ghi log file vào queue thử


Log in to reply