我想弄清楚通知我的網絡應用程序的數據庫更改的最佳方式。我現在這樣做的方式是,我有一個單獨的MySQL表和一個計數器。MySQL回調的網絡應用程序
現在,當表Foo中發生某些數據庫操作時,觸發器將計數器相加。 如果發生了什麼事情(計數器編號已更改),則Web應用程序每5秒鐘輪詢一次服務器以查看結果,如果是,刷新應用程序中的數據。
我想要的是,我可以做回調/通知從MySQL到服務器,並從那裏到網絡應用程序,這樣我就不需要頻繁地輪詢服務器。這可能以某種方式嗎?
我想弄清楚通知我的網絡應用程序的數據庫更改的最佳方式。我現在這樣做的方式是,我有一個單獨的MySQL表和一個計數器。MySQL回調的網絡應用程序
現在,當表Foo中發生某些數據庫操作時,觸發器將計數器相加。 如果發生了什麼事情(計數器編號已更改),則Web應用程序每5秒鐘輪詢一次服務器以查看結果,如果是,刷新應用程序中的數據。
我想要的是,我可以做回調/通知從MySQL到服務器,並從那裏到網絡應用程序,這樣我就不需要頻繁地輪詢服務器。這可能以某種方式嗎?
How does facebook, gmail send the real time notification? 您不能直接從MySQL通知您的應用程序,但有一些解決方案可以節省服務器的帶寬和負載。
處理這種情況的一種方法 - 既可以自己實現觀察者模式,也可以簡單地使用pubsub消息傳遞選項(ZMQ/AMQ/RabbitMQ/Redis等) - 當初始數據庫操作發生時(確保事務具有提交),將消息發佈到pubusb工具上的主題 - 您的應用程序可以訂閱pubsub工具並在發生數據庫更改時接收消息。
希望它有幫助。
網絡套接字怎麼樣? –
嘗試http://gonzalo123.wordpress.com/2011/05/09/real-time-monitoring-php-applications-with-websockets-and-node-js/ with http://meteor.com/ realtime php –
你最終使用了什麼? –