2014-04-10 92 views
1

我有一個PHP系統,它做社交媒體平臺所做的一切事情,即添加評論,上傳圖片,添加對象,登錄,會話等存儲MySQL數據庫中的所有交互。所以我有一個很好的基礎設施來建立。採用我目前的系統,包括實時通知

我的項目的下一個階段是開發系統,以便通知發送到「聯繫人」的「網絡」,這些「聯繫人」與其中一個相關聯。比如像Facebook這樣的通知系統。即克里斯剛剛評論的對象N.

我正在尋找實施這個系統的很多用戶:10,000+,所以它必須是可靠的。我研究了Facebook的整合,導致諸如memcache,sockets &哈希等技術。

它們是否可以輕鬆適應此功能的任何系統,就像我可以使用快速,可靠的實現一樣。

P.s一想到我只是每5秒查詢一次數據庫, 「使用jQuery,Ajax & PHP選擇在過去5秒內發生的所有事情」,但這很愚蠢,它會耗盡服務器&數據庫的權利?

我看到了這個website &這個article,任何人都可以反思這個告訴我什麼是最好的方法,因爲我在猶豫什麼路徑遵循。

謝謝

+0

套接字或長輪詢值得關注。 – Pitchinnate

回答

1

這是不可能的只是純粹的香草PHP/MySQL。你可以做的是在你的數據上設置MySQL觸發器(http://dev.mysql.com/doc/refman/5.0/en/triggers.html),然後使用UDF函數sys_exec(你將需要在你的MySQL服務器上安裝)運行通知php腳本。看到這篇文章:Invoking a PHP script from a MySQL trigger

如果你能得到這個設置它應該是相當可靠和快速。

+0

編輯:我鏈接到的帖子上的鏈接似乎被打破。試試這個:https://github.com/mysqludf/lib_mysqludf_sys#readme – DankMemes

+0

這對大量的用戶來說可以嗎?如果這是如此可靠/快速爲什麼Facebook沒有使用它?只是想通過我的腦袋。無論如何,感謝您的答案,我會去執行 – cwiggo

+0

可能會有開始數百個通知進程的開銷,因爲fb擁有數百萬用戶。你只有10K,所以你很好用這個。 – DankMemes