Help : Có cách nào , khi database , thay đổi , thì server tự động send data lên client không ?



  • Em có table sinhvien :
    em da show ra trang index.ejs

    • Có cach nào , khi em update , hoặc insert vào databse , Thi trang index tự động cập nhật luôn .
    • dùng Ajax , thì server chieu không nỏi ,
    • có cách nào sử dụng bằng Socket.io không .
      0_1525940005923_bangsinhvien.png


  • trong service CRUD, broadcast event cho websocket là được đó bạn



  • @kevin3489 : Bạn có thể demo cho mình với , minh còn gà lắm , mò cả tuần rồi không được hix hix



  • Vì sao bạn muốn làm như vậy ?

    Khi database thay đổi, vì sao DB lại thay đổi ? nếu có 1 hành động, 1 đoạn code nào làm thay đổi DB tại sao bạn không send data lên client ( mình prefer từ xuống hơn ) ngay lúc này luôn ?



  • @CodeConCat , database thay đôi , là do update từ trang khac , không phải action từ phía client , client minh chỉ moi viec show lên thôi , .

    Minh hỏi demo này , vi trong cty có thiết bị , nhay số liên tục , nó liên tục update vào database . Và phía web show cái table đó , nên client chỉ việc show thôi ,


  • Global Moderator

    Có 2 phương án sau bạn có thể áp dụng:

    • Sử dụng SQL Trigger, cách này thì nên hạn chế sử dụng vì làm DB chạy cực nặng nếu data lớn.
    • Quét định kỳ bảng dữ liệu.

    Với phương án quét định kỳ bảng dữ liệu nếu dữ liệu lớn cũng nên quét trên DB Replication để tránh tải hệ thống. Sau đấy là cách bạn đưa websocket vào để trả về dữ liệu client.



  • Bạn dùng cách CodeConcat ấy. Nhưng sau khi insert bên phía kia thành công. Thì kêu Socket.io bắn về phía client thông tin thay đổi. (Chỗ controller của insert, update, delete). Cách này có vấn đề là server realtime khác với server restful thì dùng redis queue hay gọi restful qua bên realtime server thoai.

    Sent from Rodgers Zone!!!

    0


  • @Vũ Khó implement lắm =.=.
    Nếu dùng cách 1 thì problem là nặng.
    Cách 2 thì phai setup replication sớm.

    Sent from Rodgers Zone!!!

    0

  • Global Moderator

    @Nguyen-Hien Phía bên đẩy input vào DB mà do đối tác cung cấp thì bắt buộc phải làm vậy :D



  • @Vũ =))). Lấy 1 thằng wrapper như rethink cũng đc. Insert primary thành công -> insert rethink (bựa mode)

    Sent from Rodgers Zone!!!

    0


  • @Nguyen-Hien vấn đề nan giải thật , database rất lớn , lúc trước mình dùng ajax và đã sập server hix



  • @Nam-Tran135 Cách trên là mình joke thôi. Cần stable thì bạn có thể dùng queue. Ít ra làm tuần tự. Redis-queuê chẳng hạn. 1 Server realtime watch cái queue đó. Nhận được job thì bắn xuống người dùng. Validate, process, ... nhét hết logic vào restful server. Cái này bạn cluster sẽ dễ hơn là cluster server realtime.

    Sent from Rodgers Zone!!!

    0


  • @Nam-Tran135 Ajax thì đâu liên quan gì đến việc sấp server (ý bạn là time interval ajax request) ?

    Sent from Rodgers Zone!!!

    0

Log in to reply