Xử lý tác vụ tính toán từ CPU 100% xuống 0,5% kinh nghiệm xử lý Web Livestream hay Stocks | I/O
👉 Link khóa học backend Nodejs:
Timeline:
00:00 Web chứng khoán hoặc livestream và CPU luôn hoạt động cao?
02:42 Service worker sâu xa là gì?
03:50 Vậy không phải javascript là đơn luồng hay sao?
04:46 Service Worker hoạt động như thế này?
07:33 Tạo hiện trường CPU tăng 100% trên web chứng khoán or live.
09:40 Fix từ CPU 100% xuống 0,5%
11:50 Kịch bản sử dụng Service Worker
🚩 Subscribe ➜
#javascript #backend #workers
✅ Follow Me:
Blog:
Github:
Facebook:
Youtube:
Sư phụ, em áp dụng worker này vào ReactJS fetch data cải thiện được Performance lên rất nhiều cảm ơn những chia sẽ của thầy. :))
Cảm ơn a vì video hữu ích. Nhưng e thấy web worker chủ yếu giải quyết vấn đề xử lý đồng thời cho app. Chứ CPU thì vẫn vậy thôi, ko thể biến 1 task nặng thành nhẹ được 😊. Hay cái monitor của browser chỉ hiện CPU đang dùng cho main thread thôi nhỉ?
Hình như anh bị nhầm khái niệm hay sao ý ạ.
Background thread processing là "Web worker", chuyên để xử lý CPU intensive hoặc heavy computational tasks.
Còn "Service worker" mục đích là tăng trải nghiệm người dùng bằng cách xử lý các vấn đề lq tới caching network resource hay offline support, nó khác với web worker anh ạ.
Cảm ơn anh
Cảm ơn anh vì video, nhưng cái anh demo là web worker, còn service worker là một khái niệm khác ạ. 2 khái niệm này dễ nhầm lẫn nhưng là khái niệm khác nhau hoàn toàn đấy ạ
Xin phép bổ sung 1 ví dụ có thể sử dụng Worker
Mình từng gặp case VOIP client chỉ cho phép login 1 tab đồng thời.
Vấn đề xảy ra:
User login VOIP Tab A => sử dụng bình thường
Khi user mở thêm 1 tab mới => Login Tab B để xử lý nghiệp vụ => socket phát hiện đăng nhập 2 nơi => tự động send request logout session ở Tab A.
Mình đã giải quyết đưa nghiệp vụ xử lý sang Shared Worker xem nó như 1 Bridge => Tab nào login đầu tiên thì sẽ là Node Master xử lý toàn bộ logic. có event từ socket trả về thì sẽ gửi message đó sang Worker. Worker sẽ gửi message đó sang các port còn lại.
Tương tự nếu 1 sự kiện xảy ra ở Tab B,C => sẽ gửi message cho worker để worker gửi lại cho Tab A gửi lên socket.
Nếu Tab A bị đóng thì sẽ chuyển cho Tab tiếp theo thực hiện login và làm Node Master.
sau này nhiều kinh nghiệm hơn thì nghĩ thêm dùng Broadcast Channel, đưa socket qua cho Worker xử lý nhưng chưa có thời gian nghiên cứu.
E cũng mới add sw vào web 😂. Thật trùng hợp thanks anh đã ra video
tuyệt vời anh ơi, đúng cái em đang tìm kiếm
Mình bật tab "Performance monitor" lên như thế nào vậy anh? Có phải nó là extension của chrome