2013-07-24 25 views
6

Tôi hiện đang mã hóa một trang web Apache/PHP/mySQL khá chuẩn sử dụng Symfony2 và xem xét sử dụng Node và socket.io cho một nhu cầu đặc biệt: một thanh thông báo. Không có gì quá lạ mắt, thông báo được thắp sáng khi bạn có yêu cầu kết bạn mới, một thư mới ...Node.js và socket.io cho thanh thông báo: Tôi có đang đi đúng hướng không?

Tôi không quá yêu cầu định kỳ DB của tôi từ vòng lặp ajax; Tôi muốn tính năng này có thể mở rộng hoàn toàn và có dấu chân tối thiểu.

Vì vậy, tôi đang xem xét có một yêu cầu định kỳ duy nhất trên DB, phía máy chủ, cung cấp danh sách các ổ cắm mở trong Nút bằng thông báo đẩy cho từng người dùng có liên quan.

Tôi có đi đúng hướng không?

Cheers

+3

MySQL không thực sự có hệ thống thông báo đẩy tốt, nhưng [Redis] (http://redis.io/) có. Có lẽ bạn có thể sử dụng một cơ sở dữ liệu thứ cấp chỉ để thông báo, nếu không bạn sẽ phải thăm dò ý kiến ​​tích cực. – tadman

Trả lời

3

Bạn chắc chắn đi đúng hướng, nhưng tôi đề nghị đặt những thứ thông báo trong ứng dụng của bạn, chứ không phải là bỏ phiếu cơ sở dữ liệu của bạn. Đối với ví dụ về yêu cầu kết bạn, làm điều đó khi yêu cầu kết bạn được gửi:

function send_friend_request($from, $to) { 
    $mysqli->whatever you do with that; 
    send_notification($to, 'You have a friend request!'); 
} 

nơi send_notification là một phương pháp mà sẽ gửi một yêu cầu POST đến máy chủ nodejs của bạn. Máy chủ nodejs của bạn nhận được POST và chuyển tiếp tin nhắn đến bất cứ điều gì đang nghe $to.

+0

Tuyệt vời, cảm ơn rất nhiều. – heyMcFly

Các vấn đề liên quan