2005, giới lập trình web làm quen với AJAX. Browser dùng JavaScript gửi request lên server. Server trả về và browser tự động cập nhật nội dung cần làm mới mà không cần phải reload lại cả trang web. Nếu một web site cần hiển thị trong thời gian thực hoặc gần như vậy đồ thị lên xuống của các mã cổ phiếu. Chúng sẽ nghĩ đến lập trình để browser đều đặn gửi yêu cầu lấy giá cổ phiếu mới nhất từ web server -> Cơ chế pooling. Nếu số lượng browser đồng thời cùng truy cập đến hàng nghìn, thì web server sẽ phải phục vụ rất vất vả cho dù chỉ có một vài mã cổ phiếu thay đổi điểm, những vẫn phải trả lời và gửi trả tất cả các mã cổ phiếu. Thay vì để client hỏi server (pooling) liên tục một cách mù quáng. Tại sao không để server nếu có thay đổi sẽ báo lại cho client, và sẽ chỉ gửi dữ liệu cần thiết để client xử lý (notification)
Ngày càng nhiều ứng dụng web cần áp dụng cơ chế này, ví dụ Twitter, LiveScore, Stock Trading, chat… SignalR là một thư viện lập trình do 2 thành viên của đội phát triển ASP.net Microsoft phát triển. SignalR cho phép lập trình viên tạo kênh liên lạc giữa server và client theo cơ chế notification. Trong dự án ASP.net chỉ cần bổ xung thư viện SignalR server lập trình bằng C#, còn tại browser dùng thư viện javascript SignalR client.
Bình luận